WebKit-https.git
2 years agoSkip crashing css-display-3/display-contents tests.
ryanhaddad@apple.com [Tue, 23 May 2017 22:55:10 +0000 (22:55 +0000)]
Skip crashing css-display-3/display-contents tests.
https://bugs.webkit.org/show_bug.cgi?id=172503

Unreviewed test gardening.

* TestExpectations:

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

2 years agoStop consulting -viewsNeedDisplay when doing layer flushing in WebKit1
simon.fraser@apple.com [Tue, 23 May 2017 21:44:21 +0000 (21:44 +0000)]
Stop consulting -viewsNeedDisplay when doing layer flushing in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=172522
rdar://problem/31071812

Source/WebKit/mac:

Reviewed by Tim Horton.

There's no need to consult -[NSWindow viewsNeedDisplay] on newer OSes. It was
added in r58623, and modified in r61204 for Carbon apps, but with more recent AppKit
versions this synchronization is no longer required.

* WebView/WebView.mm:
(LayerFlushController::flushLayers):

Tools:

Reviewed by Sam Weinig.

Remove NSWindowStyleMaskFullSizeContentView which is no longer referenced in code.
We set this in the .xib file now.

* MiniBrowser/mac/MiniBrowser_Prefix.pch:

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

2 years agoMove css-scoping-1 test suite to WPT
rego@igalia.com [Tue, 23 May 2017 21:33:33 +0000 (21:33 +0000)]
Move css-scoping-1 test suite to WPT
https://bugs.webkit.org/show_bug.cgi?id=172500

Reviewed by Youenn Fablet.

csswg-test repo was merged into web-platform-tests a while ago,
this patch moves the css-scoping-1 test suite to the new path.

* csswg-test/css-scoping-1/w3c-import.log: Removed.
* resources/import-expectations.json:
* web-platform-tests/css/css-scoping-1/OWNERS: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/OWNERS.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-assigned-node-with-before-after-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-assigned-node-with-before-after-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-assigned-node-with-before-after.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-assigned-node-with-before-after.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-assigned-node-with-rules-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-assigned-node-with-rules-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-assigned-node-with-rules.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-assigned-node-with-rules.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-host-functional-rule-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-host-functional-rule-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-host-functional-rule.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-host-functional-rule.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-host-rule-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-host-rule-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-host-rule.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-host-rule.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-host-with-before-after-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-host-with-before-after-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-host-with-before-after.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-host-with-before-after.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-invisible-slot-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-invisible-slot-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-invisible-slot.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-invisible-slot.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-root-hides-children-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-root-hides-children-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-root-hides-children.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-root-hides-children.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slot-display-override-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slot-display-override-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slot-display-override.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slot-display-override.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slot-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slot-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slot-fallback-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slot-fallback-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slot-fallback.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slot-fallback.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slot-style-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slot-style-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slot-style.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slot-style.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slot.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slot.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slotted-nested-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slotted-nested-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slotted-nested.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slotted-nested.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slotted-rule-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slotted-rule-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-slotted-rule.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-slotted-rule.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-with-outside-rules-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-with-outside-rules-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-with-outside-rules.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-with-outside-rules.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-with-rules-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-with-rules-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-with-rules-no-style-leak-expected.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-with-rules-no-style-leak-expected.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-with-rules-no-style-leak.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-with-rules-no-style-leak.html.
* web-platform-tests/css/css-scoping-1/css-scoping-shadow-with-rules.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/css-scoping-shadow-with-rules.html.
* web-platform-tests/css/css-scoping-1/shadow-cascade-order-001-expected.txt: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/shadow-cascade-order-001-expected.txt.
* web-platform-tests/css/css-scoping-1/shadow-cascade-order-001.html: Renamed from LayoutTests/imported/w3c/csswg-test/css-scoping-1/shadow-cascade-order-001.html.
* web-platform-tests/css/css-scoping-1/w3c-import.log: Added.

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

2 years agoMarked imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic...
jlewis3@apple.com [Tue, 23 May 2017 21:30:37 +0000 (21:30 +0000)]
Marked imported/w3c/web-platform-tests/css/css-display-3/display-contents-dynamic-flex-002-inline.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=172515

Unreviewed test gardening.

* TestExpectations:

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

2 years agoRegression(r215229): ASSERTION FAILED: !m_scriptHash || m_scriptHash == m_script...
cdumez@apple.com [Tue, 23 May 2017 21:06:23 +0000 (21:06 +0000)]
Regression(r215229): ASSERTION FAILED: !m_scriptHash || m_scriptHash == m_script.impl()->hash()
https://bugs.webkit.org/show_bug.cgi?id=171091
<rdar://problem/31752046>

Reviewed by Geoffrey Garen.

* fast/dom/resources/script-with-unicode.js: Added.
* fast/dom/script-charset-update-expected.txt: Added.
* fast/dom/script-charset-update.html: Added.
Add test that was consistently hitting the assertion in debug builds before
r215229 was rolled out.

* fast/loader/cache-encoding-expected.txt:
* fast/loader/cache-encoding.html:
Improve test to check that it is actually getting a SyntaxError the first time,
when it loads the script with the wrong encoding. Apparently this test was not
clear enough because it was updated / disabled in r215229, but was showing a
real bug.

* platform/ios-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:
Unskip test was should no longer be flaky now that r215229 has been rolled out.

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

2 years agoMarked imported/w3c/web-platform-tests/webrtc/getstats.html as flaky.
jlewis3@apple.com [Tue, 23 May 2017 20:59:09 +0000 (20:59 +0000)]
Marked imported/w3c/web-platform-tests/webrtc/getstats.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=172521

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:
* platform/mac-wk2/TestExpectations:

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

2 years agocheckGPUStatus needs to exercise instancing calls
dino@apple.com [Tue, 23 May 2017 20:49:58 +0000 (20:49 +0000)]
checkGPUStatus needs to exercise instancing calls
https://bugs.webkit.org/show_bug.cgi?id=172520
<rdar://problem/23118395>

Reviewed by Brent Fulgham.

Source/WebCore:

The checkGPUStatus method (formerly checkGPUStatusIfNecessary) was
not being called after the drawArrays/Elements instancing calls.

I also added a test case to exercise the recovery logic.

Test: fast/canvas/webgl/lose-context-on-status-failure.html

* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::setFailNextGPUStatusCheck): Force
the next checkGPUStatus on the GC3D to fail.
* html/canvas/WebGLRenderingContextBase.h:
* platform/graphics/GraphicsContext3D.h: Rename a function, and make
the number of calls we wait before checking per instance, rather than
static (which might have meant we're only ever checking after one canvas on
a page with multiple contexts).
(WebCore::GraphicsContext3D::setFailNextGPUStatusCheck):
* platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::checkGPUStatus): Renamed.
(WebCore::GraphicsContext3D::checkGPUStatusIfNecessary): Deleted.
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::checkGPUStatus): Improve the logic.
(WebCore::GraphicsContext3D::checkGPUStatusIfNecessary): Deleted.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::clear):
(WebCore::GraphicsContext3D::drawArrays):
(WebCore::GraphicsContext3D::drawElements):
(WebCore::GraphicsContext3D::drawArraysInstanced): Add a call to checkGPUStatus.
(WebCore::GraphicsContext3D::drawElementsInstanced): Ditto.
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
(WebCore::GraphicsContext3D::checkGPUStatus):
(WebCore::GraphicsContext3D::checkGPUStatusIfNecessary): Deleted.
* testing/Internals.cpp: Implement the internal call to cause the next
check to fail.
(WebCore::Internals::failNextGPUStatusCheck):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

* fast/canvas/webgl/lose-context-on-status-failure-expected.txt: Added.
* fast/canvas/webgl/lose-context-on-status-failure.html: Added.

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

2 years ago[WebIDL] Further cleanup enumeration handling
commit-queue@webkit.org [Tue, 23 May 2017 20:49:09 +0000 (20:49 +0000)]
[WebIDL] Further cleanup enumeration handling
https://bugs.webkit.org/show_bug.cgi?id=172516

Patch by Sam Weinig <sam@webkit.org> on 2017-05-23
Reviewed by Chris Dumez.

* bindings/scripts/CodeGeneratorJS.pm:
(GeneratePut):
(GeneratePutByIndex):
(GenerateDictionaryImplementationContent):
(GenerateParametersCheck):
(GenerateCallbackImplementationContent):
Update now that JSValueToNative doesn't have a second return value.

(GenerateImplementation):
Add enumeration special casing to attribute setting code, where it is special
cased in the standard

(PassArgumentExpression):
Stop special casing enumerations.

(IsValidContextForJSValueToNative):
Assert that enums are never passed to JSValueToNative in an attribute context.

(JSValueToNative):
Remove enumeration special case and second return value (which was always 1).

* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjEnumAttrFunction):
(WebCore::setJSTestObjImplementationEnumAttrFunction):
(WebCore::setJSTestObjAttributeWithReservedEnumTypeFunction):
Update results.

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

2 years agoSnapshotting via -renderInContext: should do synchronous image decodes
simon.fraser@apple.com [Tue, 23 May 2017 20:44:10 +0000 (20:44 +0000)]
Snapshotting via -renderInContext: should do synchronous image decodes
https://bugs.webkit.org/show_bug.cgi?id=172485
rdar://problem/32276146

Reviewed by Tim Horton.

Source/WebCore:

When UIWebView clients snapshot the view via -renderInContext: on the UIView's layer,
WebKit should do synchronous image decodes so that the images show in the snapshot.

Fix by plumbing through a "snapshotting" paint behavior flag from two source locations:
WebSimpleLayer, used by compositing layers, and LegacyTileLayer, used for the WK1 tile cache.
On WebSimpleLayer the flag propagates through PlatformCALayer to GraphicsLayer, and on LegacyTileLayer
it sets some state on the WAKWindow, which is detected by -[WebFrame _paintBehaviorForDestinationContext:].
In both cases, the flag becomes PaintBehaviorSnapshotting which is passed down through painting
in PaintInfo.paintBehavior.

Fix code that was checking paintBehavior on the FrameView to just looking at PaintInfo.paintBehavior,
which required passing PaintInfo along in RenderImage::paintIntoRect().

We can't just use the PaintBehaviorFlattenCompositingLayers flag, because that triggers
a flattening paint of compositing layers, and we don't want that behavior for -renderInContext:,
since CoreAnimation calls -renderInContext: on each of our layers and we need to avoid double-painting.
So PaintBehaviorSnapshotting is now added to the call sites that also set PaintBehaviorFlattenCompositingLayers
in most cases.

Tested by SnapshotViaRenderInContext API test.

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
* page/FrameView.cpp:
(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::paintContentsForSnapshot):
* page/PageOverlayController.cpp:
(WebCore::PageOverlayController::paintContents):
* page/PageOverlayController.h:
* page/mac/ServicesOverlayController.h:
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::paintContents):
* platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::paintGraphicsLayerContents):
* platform/graphics/GraphicsLayer.h:
* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::paintContents):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::platformCALayerPaintContents):
* platform/graphics/ca/GraphicsLayerCA.h:
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/ca/PlatformCALayerClient.h:
* platform/graphics/ca/TileCoverageMap.cpp:
(WebCore::TileCoverageMap::platformCALayerPaintContents):
* platform/graphics/ca/TileCoverageMap.h:
* platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::platformCALayerPaintContents):
* platform/graphics/ca/TileGrid.h:
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(PlatformCALayer::drawLayerContents):
* platform/graphics/mac/WebLayer.mm:
(-[WebLayer drawInContext:]):
(-[WebSimpleLayer renderInContext:]):
(-[WebSimpleLayer drawInContext:]):
* platform/ios/LegacyTileCache.h: Use initializers.
* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::LegacyTileCache):
(WebCore::LegacyTileCache::drawWindowContent):
(WebCore::LegacyTileCache::drawLayer):
* platform/ios/LegacyTileLayer.h:
* platform/ios/LegacyTileLayer.mm:
(-[LegacyTileHostLayer renderInContext:]):
(-[LegacyTileLayer renderInContext:]):
(-[LegacyTileLayer drawInContext:]):
(+[LegacyTileLayer layerBeingPainted]): Deleted. There were no callers.
* platform/ios/wak/WAKView.mm:
(-[WAKView _drawRect:context:lockFocus:]): bool -> BOOL
* platform/ios/wak/WAKWindow.h:
* platform/ios/wak/WAKWindow.mm:
(-[WAKWindow setIsInSnapshottingPaint:]):
(-[WAKWindow isInSnapshottingPaint]):
* rendering/PaintPhase.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintMaskImages):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):
* rendering/RenderImage.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintForegroundForFragments):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintContents):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::paintContents):
* rendering/RenderLayerCompositor.h:
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::paintReplaced):

Source/WebKit/mac:

Remove the _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap: SPI that no longer
has any callers.

* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView inFlatteningPaint]): Deleted.
* WebView/WebFrame.mm:
(-[WebFrame _paintBehaviorForDestinationContext:]):
(-[WebFrame _drawRect:contentsOnly:]):
(-[WebFrame _shouldFlattenCompositingLayers:]): Deleted.
* WebView/WebHTMLView.mm:
(imageFromRect):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _setIncludesFlattenedCompositingLayersWhenDrawingToBitmap:]): Deleted.
(-[WebView _includesFlattenedCompositingLayersWhenDrawingToBitmap]): Deleted.
* WebView/WebViewData.h:
* WebView/WebViewPrivate.h:

Source/WebKit2:

Pass the PaintBehaviorSnapshotting flag in functions that do snapshotting.

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::drawInContext):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::imageForRect):
* WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::renderedImage):

Tools:

New API test.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit/ios/SnapshotViaRenderInContext.mm: Added.
(-[RenderInContextWebViewDelegate webViewDidFinishLoad:]):
(-[RenderInContextWebViewDelegate webView:didFailLoadWithError:]):
(TestWebKitAPI::getPixelIndex):
(TestWebKitAPI::TEST):

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

2 years agoWeb Inspector: use initialLayout for NetworkSidebarPanel
drousso@apple.com [Tue, 23 May 2017 20:34:52 +0000 (20:34 +0000)]
Web Inspector: use initialLayout for NetworkSidebarPanel
https://bugs.webkit.org/show_bug.cgi?id=172470

Reviewed by Joseph Pecoraro.

* UserInterface/Views/NetworkSidebarPanel.js:
(WebInspector.NetworkSidebarPanel):
(WebInspector.NetworkSidebarPanel.prototype.showDefaultContentView):
(WebInspector.NetworkSidebarPanel.prototype.initialLayout):
Don't create NetworkGridContentView until right before it is shown.

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

2 years ago[css-grid] Import css/css-grid-1/alignment/ from WPT (8df7c9c215)
rego@igalia.com [Tue, 23 May 2017 20:31:53 +0000 (20:31 +0000)]
[css-grid] Import css/css-grid-1/alignment/ from WPT (8df7c9c215)
https://bugs.webkit.org/show_bug.cgi?id=172494

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

This patch imports the new alignment tests for the CSS Grid Layout test suite
from WPT repository. It also needs to start importing "css/reference" folder
as some of the new tests were pointing to reference files there
and the importer wasn't able to get them.

* resources/import-expectations.json:
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-001-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-001.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-002-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-002.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-003-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-003.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-004-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-004.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-005-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-005.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-006-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-006.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-007-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-007.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-008-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-008.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-009-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-009.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-010-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-010.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-011-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-011.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-012-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-012.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-013-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-013.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-014-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-014.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-015-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-015.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-016-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-016.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-017-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-017.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-018-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-018.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-019-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-019.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-020-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-020.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-021-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-021.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-022-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-022.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-023-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-023.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-024-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-024.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-025-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-025.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-001-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-001.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-002-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-002.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-003-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-003.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-004-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-004.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-005-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-005.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-006-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-006.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-007-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-007.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-008-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-008.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-009-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-009.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-010-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-010.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-011-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-011.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-012-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-012.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-013-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-013.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-014-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-014.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-015-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-015.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-016-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-016.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-017-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-017.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-018-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-018.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-019-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-019.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-020-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-020.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-021-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-021.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-022-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-022.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-023-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-023.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-024-expected.html: Added.
* web-platform-tests/css/css-grid-1/alignment/grid-content-distribution-with-collapsed-tracks-024.html: Added.
* web-platform-tests/css/css-grid-1/alignment/w3c-import.log: Added.
* web-platform-tests/css/css-grid-1/grid-items/w3c-import.log:
* web-platform-tests/css/css-grid-1/grid-model/w3c-import.log:
* web-platform-tests/css/reference/OWNERS: Added.
* web-platform-tests/css/reference/pass_if_filler_text_match_bold-expected.xht: Added.
* web-platform-tests/css/reference/pass_if_filler_text_match_bold.xht: Added.
* web-platform-tests/css/reference/pass_if_filler_text_match_smallcaps-expected.xht: Added.
* web-platform-tests/css/reference/pass_if_filler_text_match_smallcaps.xht: Added.
* web-platform-tests/css/reference/pass_if_filler_text_underlined-expected.html: Added.
* web-platform-tests/css/reference/pass_if_filler_text_underlined.html: Added.
* web-platform-tests/css/reference/w3c-import.log: Added.

LayoutTests:

* TestExpectations: Mark as failure a few tests due to bug #172493.

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

2 years agoRemove dead ENABLE(FONT_LOAD_EVENTS) code
mmaxfield@apple.com [Tue, 23 May 2017 20:24:38 +0000 (20:24 +0000)]
Remove dead ENABLE(FONT_LOAD_EVENTS) code
https://bugs.webkit.org/show_bug.cgi?id=172517

Rubber-stamped by Simon Fraser.

.:

* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests because there is no behavior change.

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSAllInOne.cpp:
* css/CSSFontFaceLoadEvent.cpp: Removed.
* css/CSSFontFaceLoadEvent.h: Removed.
* css/CSSFontFaceLoadEvent.idl: Removed.
* dom/EventNames.in:
* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setFontLoadEventsEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::fontLoadEventsEnabled): Deleted.

Source/WebCore/PAL:

No new tests because there is no behavior change.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

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

2 years agoMany editing js-tests use waitUntilDone
ap@apple.com [Tue, 23 May 2017 20:23:23 +0000 (20:23 +0000)]
Many editing js-tests use waitUntilDone
https://bugs.webkit.org/show_bug.cgi?id=172401

Reviewed by Ryosuke Niwa.

Corrected the use of js-test harness, updated the tests to use js-test.js instead
of js-test-pre.js where possible.

* editing/caret/ios/absolute-caret-position-after-scroll.html:
* editing/caret/ios/fixed-caret-position-after-scroll.html:
* editing/input/style-change-during-input.html:
* editing/inserting/insert-html-crash.html:
* editing/mac/input/undo-grouping-on-text-insertion.html:
* editing/mac/selection/context-menu-select-editability-expected.txt:
* editing/mac/selection/context-menu-select-editability.html:
* editing/mac/spelling/accept-candidate-undo-does-not-select.html:
* editing/mac/spelling/autocorrection-respets-undo-expected.txt:
* editing/mac/spelling/autocorrection-respets-undo.html:
* editing/pasteboard/drag-and-drop-attachment-contenteditable.html:
* editing/pasteboard/drag-and-drop-image-contenteditable.html:
* editing/pasteboard/drag-and-drop-inputimage-contenteditable.html:
* editing/pasteboard/drag-and-drop-objectimage-contenteditable.html:
* editing/pasteboard/drag-link-with-data-transfer-adds-trusted-link-to-pasteboard-expected.txt:
* editing/pasteboard/drag-link-with-data-transfer-adds-trusted-link-to-pasteboard.html:
* editing/selection/ios/absolute-selection-after-scroll.html:
* editing/selection/ios/fixed-selection-after-scroll.html:
* editing/spelling/copy-paste-crash-expected.txt:
* editing/spelling/copy-paste-crash.html:
* editing/style/apply-style-join-child-text-nodes-crash.html:

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

2 years ago[WTF] Export additional symbols in threading
commit-queue@webkit.org [Tue, 23 May 2017 19:51:44 +0000 (19:51 +0000)]
[WTF] Export additional symbols in threading
https://bugs.webkit.org/show_bug.cgi?id=171952

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-05-23
Reviewed by Konstantin Tokarev.

* wtf/ThreadMessage.h:
* wtf/threads/Signals.h:

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

2 years agoUnreviewed, test gardening after r217225
jiewen_tan@apple.com [Tue, 23 May 2017 19:46:39 +0000 (19:46 +0000)]
Unreviewed, test gardening after r217225

* TestExpectations:
Gardening about imported/w3c/web-platform-tests/WebCryptoAPI/

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

2 years agoUnreviewed, roll out r215229
cdumez@apple.com [Tue, 23 May 2017 19:39:16 +0000 (19:39 +0000)]
Unreviewed, roll out r215229

It caused CachedScripts in MemoryCache to be reused with different encodings
even though CachedScript potentially has already decoded data or cached hash
with a previous encoding.

LayoutTests/imported/w3c:

* web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-01-expected.txt:

Source/WebCore:

* loader/TextResourceDecoder.cpp:
(WebCore::TextResourceDecoder::setEncoding):
* loader/TextResourceDecoder.h:
(WebCore::TextResourceDecoder::sawError):
(WebCore::TextResourceDecoder::encodingSet): Deleted.
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::setEncoding):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::hasUnknownEncoding):
(WebCore::CachedResource::setHasUnknownEncoding):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy):

LayoutTests:

* TestExpectations:
* fast/loader/cache-encoding-expected.txt:
* fast/loader/cache-encoding.html:
* http/tests/preload/preload-encoding-expected.txt:
* http/tests/preload/preload-encoding.php:

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

2 years agoZoom in/out is slow in Safari with large PDFs
timothy_horton@apple.com [Tue, 23 May 2017 18:58:10 +0000 (18:58 +0000)]
Zoom in/out is slow in Safari with large PDFs
https://bugs.webkit.org/show_bug.cgi?id=172495
<rdar://problem/32338631>

Reviewed by Simon Fraser.

No tests; just a performance improvement.

* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::computePageBoxes):
Use PDFKit instead of CGPDF to compute the first page box, so we can take
advantage of PDFKit optimizations. PDFKit also handles box fallback,
so we don't need to do that ourselves. Stop fetching all the boxes, as
we only seem to use the first one.

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

2 years agoCFGSimplificationPhase should not merge a block with itself
sbarati@apple.com [Tue, 23 May 2017 18:49:15 +0000 (18:49 +0000)]
CFGSimplificationPhase should not merge a block with itself
https://bugs.webkit.org/show_bug.cgi?id=172508
<rdar://problem/28424006>

Reviewed by Keith Miller.

JSTests:

* stress/dont-crash-in-cfg-simplification.js: Added.
(bar):
(baz):
(foo):

Source/JavaScriptCore:

CFGSimplificationPhase can run into or create IR that ends up with a
block that has a Jump to itself, and no other predecessors. It should
gracefully handle such IR. Before this patch, it would not. The only criteria
for merging 'block' with 'targetBlock' used to be that 'targetBlock.predecessors.size() == 1'.
The code is written in such a way that if we merge a block with itself, we
will infinite loop until we run out of memory.

Merging a block with itself does not make sense for a few reasons. First,
we're joining the contents of two blocks. What is the definition of joining
a block with itself? I suppose we could simply unroll this self loop
one level, but that would not be wise because this self loop is by definition
unreachable unless it's the root block in the graph (which I think is
invalid IR since we'd never generate bytecode that would do this).

This patch employs an easy fix: we can't merge a block with itself.

* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::canMergeBlocks):
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::convertToJump):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):

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

2 years agoASSERTION FAILED: !renderer().view().needsLayout() while running media/video-main...
zalan@apple.com [Tue, 23 May 2017 18:37:07 +0000 (18:37 +0000)]
ASSERTION FAILED: !renderer().view().needsLayout() while running media/video-main-content-autoplay.html
https://bugs.webkit.org/show_bug.cgi?id=172476

Reviewed by Simon Fraser.

This patch decouples the layout call logic from the post layout task timer setup.
Just because we are switching over to asynchronous performPostLayoutTasks() it should not stop us from
running layout on a dirty tree (we could encounter a forced layout (which sets m_postLayoutTasksTimer active)
and a subsequent tree mutation during performPostLayoutTasks()).

There are a few different ways to end up here:
root layout is done -> call performPostLayoutTasks() synchronously ->
1. tree stays clean -> no action needed.
2. tree gets dirty -> setup performPostLayoutTasks timer -> run nested layout -> since m_postLayoutTasksTimer is active()
we don't try to run performPostLayoutTasks() while in the nested layout and we return with a clean tree.

* page/FrameView.cpp:
(WebCore::FrameView::layout):

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

2 years agoSkip LayoutTest imported/w3c/web-platform-tests/innerText/getter.html.
ryanhaddad@apple.com [Tue, 23 May 2017 18:36:35 +0000 (18:36 +0000)]
Skip LayoutTest imported/w3c/web-platform-tests/innerText/getter.html.
https://bugs.webkit.org/show_bug.cgi?id=172514

Unreviewed test gardening.

* TestExpectations:

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

2 years agoMultiple links should be inserted separately when performing data interaction
wenson_hsieh@apple.com [Tue, 23 May 2017 18:27:21 +0000 (18:27 +0000)]
Multiple links should be inserted separately when performing data interaction
https://bugs.webkit.org/show_bug.cgi?id=172489
<rdar://problem/31510832>

Reviewed by Dan Bernstein.

Source/WebCore:

In WebContentReader, URLs are currently always inserted inline. When inserting multiple items, this causes
adjacent links to be inserted on a single line with no break, which is undesirable. To address this, when
appending links from additional items to the existing document fragment in WebContentReader, insert a new space
prior to inserting the anchor element.

New unit test: DataInteractionTests.ExternalSourceMultipleURLsToContentEditable

* editing/ios/EditorIOS.mm:
(WebCore::Editor::WebContentReader::addFragment):

Tweak to add all children of the new fragment, rather than just the first child.

(WebCore::Editor::WebContentReader::readURL):

Tools:

Adds a new test that performs data interaction in a contenteditable with multiple items containing URLs.

* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):

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

2 years agoREGRESSION: API test WebKit2.WKObject is failing
timothy_horton@apple.com [Tue, 23 May 2017 18:20:34 +0000 (18:20 +0000)]
REGRESSION: API test WebKit2.WKObject is failing
https://bugs.webkit.org/show_bug.cgi?id=172497
<rdar://problem/31694641>

Reviewed by Geoff Garen.

* Shared/Cocoa/WKNSString.mm:
(-[WKNSString superclass]):
(-[WKNSString class]):
Pretend to be NSString instead of the more specific subclass (__NSCFString)
that we actually are. There is code underneath us that assumes that if
-class returns __NSCFString, that the object is a CFStringRef, which is
not true in our case.

* TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm:
(TestWebKitAPI::TEST):
Add a test that ensures that we pretend to at least be *some* kind of
NSString, which my first fix would not have passed.

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

2 years ago[WebIDL] Remove some unnecessary specialization for enum types
commit-queue@webkit.org [Tue, 23 May 2017 16:30:37 +0000 (16:30 +0000)]
[WebIDL] Remove some unnecessary specialization for enum types
https://bugs.webkit.org/show_bug.cgi?id=172482

Patch by Sam Weinig <sam@webkit.org> on 2017-05-23
Reviewed by Chris Dumez.

Source/WebCore:

- Removes convertEnumeration template function and generated specialization.
  convert<IDLEnumeration<T>> now does the entire check, and can have specialized
  exceptions.
- Treats enums more like all other types, removing enum specific code in the
  generator.

Also fixes some order of exception bugs as the convertEnumeration<T> implementations
were not correctly catching exceptions thrown in parseEnumeration<T>.

* bindings/js/JSDOMConvertEnumeration.h:
(WebCore::Converter<IDLEnumeration<T>>::convert):
Remove convertEnumeration and move implementation to convert. Add ExceptionThrower
parameter to retain argument conversion exception specialization and allow future
specialization for other contexts.

* bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::jsSubtleCryptoFunctionImportKeyPromise):
(WebCore::jsSubtleCryptoFunctionExportKeyPromise):
(WebCore::jsSubtleCryptoFunctionWrapKeyPromise):
(WebCore::jsSubtleCryptoFunctionUnwrapKeyPromise):
Switch from convertEnumeration<T> to convert<IDLEnumeration<T>>.

* bindings/scripts/CodeGeneratorJS.pm:
(GetArgumentExceptionFunction):
Add (really move from GenerateParametersCheck) enum specific argument conversion exception.

(PassArgumentExpression):
Allow the enum specific code for attributes to remain by explicitly checking the context.
Attribute setters use parseEnumeration<T> explicitly, as WebIDL mandates slightly different
behavior, specially that they don't throw.

(GenerateEnumerationImplementationContent):
(GenerateEnumerationHeaderContent):
Remove convertEnumeration<T>.

(GenerateParametersCheck):
Remove entire branch devoted to enums. The main parameter check is now mature enough
to handle them.

(JSValueToNative):
Like in PassArgumentExpression, we need to retain the specialize behavior for attributes.
Before, JSValueToNative was only called for enums with a context of IDLAttribute or IDLDictionaryMember,
but now that we use if IDLArguments as well, it makes more sense to make this check in terms
of the odd man out, IDLAttribute.

* bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
* bindings/scripts/test/JS/JSTestCallbackInterface.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestStandaloneDictionary.cpp:
* bindings/scripts/test/JS/JSTestStandaloneDictionary.h:
* bindings/scripts/test/JS/JSTestStandaloneEnumeration.cpp:
* bindings/scripts/test/JS/JSTestStandaloneEnumeration.h:
Update test results.

LayoutTests:

* crypto/subtle/import-key-malformed-parameters-expected.txt:
* fast/files/blob-constructor-expected.txt:
* fast/files/script-tests/blob-constructor.js:
Update test and results for improved order of exceptions. In this case, the conversion
to String throws before the failure to parse the enumeration (which is what the
plain TypeError was).

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

2 years agoImport the css-display-3 css tests.
commit-queue@webkit.org [Tue, 23 May 2017 16:27:36 +0000 (16:27 +0000)]
Import the css-display-3 css tests.
https://bugs.webkit.org/show_bug.cgi?id=172212

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-05-23
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:

* resources/import-expectations.json:
* web-platform-tests/css/css-display-3/OWNERS: Added.
* web-platform-tests/css/css-display-3/display-contents-alignment-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-alignment-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-alignment-002-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-alignment-002.html: Added.
* web-platform-tests/css/css-display-3/display-contents-before-after-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-before-after-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-before-after-002-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-before-after-002.html: Added.
* web-platform-tests/css/css-display-3/display-contents-block-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-block-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-block-002-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-block-002.html: Added.
* web-platform-tests/css/css-display-3/display-contents-computed-style-expected.txt: Added.
* web-platform-tests/css/css-display-3/display-contents-computed-style.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-before-after-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-before-after-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-before-after-first-letter-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-before-after-first-letter-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-001-inline-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-001-inline.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-001-none-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-001-none.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-002-inline-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-002-inline.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-002-none-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-002-none.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-003-inline-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-003-inline.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-003-none-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-flex-003-none.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-inline-flex-001-inline-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-inline-flex-001-inline.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-inline-flex-001-none-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-inline-flex-001-none.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-list-001-inline-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-list-001-inline.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-list-001-none-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-list-001-none.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-multicol-001-inline-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-multicol-001-inline.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-multicol-001-none-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-multicol-001-none.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-inline-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-inline.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-none-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-none.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-inline-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-inline.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-none-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-none.html: Added.
* web-platform-tests/css/css-display-3/display-contents-first-letter-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-first-letter-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-first-line-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-first-line-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-flex-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-flex-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-flex-002-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-flex-002.html: Added.
* web-platform-tests/css/css-display-3/display-contents-flex-003-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-flex-003.html: Added.
* web-platform-tests/css/css-display-3/display-contents-float-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-float-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-inline-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-inline-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-inline-flex-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-inline-flex-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-list-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-list-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-multicol-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-multicol-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-oof-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-oof-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-oof-002-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-oof-002.html: Added.
* web-platform-tests/css/css-display-3/display-contents-replaced-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-replaced-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-state-change-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-state-change-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-table-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-table-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-table-002-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-table-002.html: Added.
* web-platform-tests/css/css-display-3/display-contents-td-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-td-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-text-only-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-text-only-001.html: Added.
* web-platform-tests/css/css-display-3/display-contents-tr-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-contents-tr-001.html: Added.
* web-platform-tests/css/css-display-3/display-flow-root-001-expected.html: Added.
* web-platform-tests/css/css-display-3/display-flow-root-001.html: Added.
* web-platform-tests/css/css-display-3/support/acid.css: Added.
(html, body):
(body):
(.table):
(.itable):
(.caption):
(.cell):
(.row):
(.rowg):
(.head):
(.foot):
(.col):
(.colg):
(.flex):
(.iflex):
(.li):
(.ib):
(.inline):
(.columns):
(.contents):
(.c1):
(.c2):
(.c3):
(.c4):
(.c5):
(.c6):
(.c7):
(.c8):
(.c9):
(.c10):
(.b):
(.ref .c2):
(.ref .b):
(.ref div.contents):
(.ref span.contents):
* web-platform-tests/css/css-display-3/support/swatch-orange.png: Added.
* web-platform-tests/css/css-display-3/support/util.js: Added.
(eachDisplayContentsElementIn):
* web-platform-tests/css/css-display-3/support/w3c-import.log: Added.
* web-platform-tests/css/css-display-3/w3c-import.log: Added.

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

2 years ago[Readable Streams API] Align respondInClosedState with spec
commit-queue@webkit.org [Tue, 23 May 2017 16:24:39 +0000 (16:24 +0000)]
[Readable Streams API] Align respondInClosedState with spec
https://bugs.webkit.org/show_bug.cgi?id=172288

Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2017-05-23
Reviewed by Chris Dumez.

Two changes are implemented in this patch:
- Change #1: An issue was reported to GH [1] while working on respondInClosedState
implementation. This issue has now been fixed, and this patch aligns implementation
with spec [2].
- Change #2: In addition, this patch also fixes a bug that went unnoticed as code
is not yet reachable (usage of controller.@reader is not valid and is therefore
replaced by controller.@controlledReadableStream.@reader).

[1] https://github.com/whatwg/streams/issues/686
[2] https://streams.spec.whatwg.org/#readable-byte-stream-controller-respond-in-closed-state

No added test as:
- Change #1 does not change behavior;
- Change #2 is not testable as the code is not yet reachable.

* Modules/streams/ReadableByteStreamInternals.js:
(readableByteStreamControllerRespondInClosedState): Aligned with spec.

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

2 years ago[WK2][iOS] Add a mach-lookup exception for 'com.apple.analyticsd'
bfulgham@apple.com [Tue, 23 May 2017 16:06:06 +0000 (16:06 +0000)]
[WK2][iOS] Add a mach-lookup exception for 'com.apple.analyticsd'
https://bugs.webkit.org/show_bug.cgi?id=172462
<rdar://problem/32331638>

Reviewed by Alexey Proskuryakov.

* Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb:
* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

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

2 years ago[WK2][iOS] Adopt a whitelist for XPC services
bfulgham@apple.com [Tue, 23 May 2017 15:57:07 +0000 (15:57 +0000)]
[WK2][iOS] Adopt a whitelist for XPC services
https://bugs.webkit.org/show_bug.cgi?id=172182
<rdar://problem/30669445>

Reviewed by Sam Weinig.

Tell the Sandbox to block all XPC connections that are not explicitly allowed by
the sandbox profile. The default behavior is to allow everything by default.

If the restriction is set before including the standard iOS sandbox profiles, there
does not seem to be a need to white list any other services.

General web browsing on multiple devices indicate that these sandbox profiles work
properly with media, accessibility, webgl, and general web content.

* Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb:
* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:

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

2 years agoThere should be an easy way to run HTTP/WPT served tests on a browser
commit-queue@webkit.org [Tue, 23 May 2017 15:56:12 +0000 (15:56 +0000)]
There should be an easy way to run HTTP/WPT served tests on a browser
https://bugs.webkit.org/show_bug.cgi?id=172068

Patch by youenn fablet <youenn@apple.com> on 2017-05-23
Reviewed by Sam Weinig.

Tools:

Adding a new script open-layout-test to open a layout-test in a
browser and making sure it is served as done through run-webkit-tests.
In case tests should be run using a server, detecting whether the
server are running. If not, calling run-webkit-httpd to run the
servers and open the URL in a browser.
Otherwise, open directly the URL.

Adding an option in run-webkit-httpd to open an URL after having
started the servers.

Adding the --no-http-servers option in run-webkit-tests to not start any HTTP server.
This allows running run-webkit-httpd once and not having to restart
servers everytime a test should be served.

Moving most of run-webkit-httpd logic in its own python file to reuse
it in open-layout-test script.

Adding routines to check whether HTTP and WPT servers are running.

* Scripts/open-layout-test: Added.
(parse_args):
(main):
* Scripts/run-webkit-httpd:
(main):
* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.find_tests):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* Scripts/webkitpy/layout_tests/servers/http_server_base.py:
(HttpServerBase._is_server_running_on_all_ports):
(HttpServerBase):
(HttpServerBase._is_running_on_port):
(HttpServerBase._check_that_all_ports_are_available):
(is_http_server_running):
* Scripts/webkitpy/layout_tests/servers/run_webkit_httpd.py: Copied from Tools/Scripts/run-webkit-httpd.
(parse_args):
(main):
(run_server):
* Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(is_wpt_server_running):
* Scripts/webkitpy/port/base.py:
(Port.to.is_http_server_running):
(Port.to):
(Port.to.is_wpt_server_running):
(Port.to.start_web_platform_test_server):
* Scripts/webkitpy/port/driver.py:
(DriverProxy.is_web_platform_test):
(DriverProxy):
(DriverProxy.is_webkit_specific_web_platform_test):

LayoutTests:

* fast/harness/results.html: In case results.html is opened locallly,
open HTTP/WPT urls as served by their related servers.
Adding a check that the servers are running before opening the related test.

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

2 years ago[Modern Media Controls] Turn off all tests
commit-queue@webkit.org [Tue, 23 May 2017 14:18:55 +0000 (14:18 +0000)]
[Modern Media Controls] Turn off all tests
https://bugs.webkit.org/show_bug.cgi?id=172447

Patch by Antoine Quint <graouts@apple.com> on 2017-05-23
Reviewed by Jon Lee.

Due to the high number of timeouts and random failures with the current tests, we turn off
all modern-media-controls tests while we wait on a more permanent solution.

* TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/mac/TestExpectations:

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

2 years ago[GTK] Test gardening after r217225
commit-queue@webkit.org [Tue, 23 May 2017 14:04:57 +0000 (14:04 +0000)]
[GTK] Test gardening after r217225
https://bugs.webkit.org/show_bug.cgi?id=172498

Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2017-05-23
Reviewed by Michael Catanzaro.

Update test expectations after r217225 resync of WPT tests.

* web-platform-tests/streams/readable-byte-streams/general-expected.txt: Updated.

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

2 years agoAdd a RuntimeEnabledFeature for display: contents, defaulted to false.
commit-queue@webkit.org [Tue, 23 May 2017 13:34:46 +0000 (13:34 +0000)]
Add a RuntimeEnabledFeature for display: contents, defaulted to false.
https://bugs.webkit.org/show_bug.cgi?id=171984

LayoutTests/imported/w3c:

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-05-22
Reviewed by Antti Koivisto.

* web-platform-tests/innerText/getter-expected.txt:

Source/WebCore:

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-05-22
Reviewed by Antti Koivisto.

The "defaulted to false" is not only because there are spec issues,
but because I ran the WPT suite, and there was a fair amount of
crashes and messed render trees.

Tests: imported/w3c/web-platform-tests/innerText/getter.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setDisplayContentsEnabled):
(WebCore::RuntimeEnabledFeatures::displayContentsEnabled):

Source/WebKit/mac:

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-05-23
Reviewed by Antti Koivisto.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences displayContentsEnabled]):
(-[WebPreferences setDisplayContentsEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-05-23
Reviewed by Antti Koivisto.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetDisplayContentsEnabled):
(WKPreferencesGetDisplayContentsEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-05-23
Reviewed by Antti Koivisto.

* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

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

2 years agoUpdate font-style's implementation in the font selection algorithm
mmaxfield@apple.com [Tue, 23 May 2017 07:37:42 +0000 (07:37 +0000)]
Update font-style's implementation in the font selection algorithm
https://bugs.webkit.org/show_bug.cgi?id=169453

Reviewed by Simon Fraser.

Source/WebCore:

Previously, we were treating "font-style: oblique" exactly the same as "font-style: italic".
These values were parsed to the same internal data type. However, variation fonts may have two
distinct axes: 'slnt' and 'ital'. Therefore, we need to keep a bool of state which represents
which of these two axes we should be setting when we apply font variations. We can do this by
making the "font-style" parser a "custom" parser. The implementation of these custom functions
will set both the italic value on the FontDescription as well as this extra bool.

We don't, however, want to treat these values as distinct for the purposese of font selection.
The fact that we treat oblique fonts the same as italic fonts is a feature, not a bug. Therefore,
the font selection algorithm is not made aware of this distinction. This is why we don't want to
package up the bool and FontSelectionValue into a class: font selection only cares about the
FontSelectionValue, so conceptually they shouldn't be joined. (The FontSelectionValue already
exists within a collection of all the things font selection needs to know about.)

Now that there is this extra bit of state on the FontDescription, we can do a little better when
computing the result of getComputedStyle(). Previously, we were always returning "italic" even
when "oblique" was specified. Now, we can return the correct one. However, this extra bit of
state is not kept on the CSSFontFace (because it doesn't need to be), which means we can only
improve the computed style of an element, rather than the cssText of an @font-face rule.

Test: fast/text/font-style-parse.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::fontStyleFromStyleValue):
(WebCore::fontStyleFromStyle):
(WebCore::fontShorthandValueForSelectionProperties):
* css/CSSComputedStyleDeclaration.h:
* css/CSSFontFaceSet.h:
* css/CSSProperties.json:
* css/FontFace.cpp:
(WebCore::FontFace::style):
* css/FontSelectionValueInlines.h:
(WebCore::fontStyleKeyword):
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertFontStyle): Deleted.
* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyInitialFontStyle):
(WebCore::StyleBuilderCustom::applyInheritFontStyle):
(WebCore::StyleBuilderCustom::applyValueFontStyle):
* platform/graphics/FontCache.h:
(WebCore::FontDescriptionKey::makeFlagsKey):
* platform/graphics/FontDescription.cpp:
(WebCore::FontDescription::FontDescription):
* platform/graphics/FontDescription.h:
(WebCore::FontDescription::shouldUseItalicVariationAxis):
(WebCore::FontDescription::setShouldUseItalicVariationAxis):
(WebCore::FontDescription::operator==):
(WebCore::FontCascadeDescription::initialShouldUseItalicVariationAxis):
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::preparePlatformFont):
(WebCore::fontWithFamily):
(WebCore::FontCache::createFontPlatformData):
(WebCore::FontCache::systemFallbackForCharacters):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):

LayoutTests:

* fast/text/font-style-parse-expected.txt:
* fast/text/font-style-parse.html:
* platform/mac-elcapitan/fast/text/font-style-parse-expected.txt:

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

2 years ago[GTK] Web Inspector: Add a new icon DockLeft.svg
commit-queue@webkit.org [Tue, 23 May 2017 07:21:21 +0000 (07:21 +0000)]
[GTK] Web Inspector: Add a new icon DockLeft.svg
https://bugs.webkit.org/show_bug.cgi?id=172492

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-05-23
Reviewed by Carlos Garcia Campos.

* UserInterface/Images/gtk/DockLeft.svg: Added.

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

2 years ago[WTF] Compilation fails with system malloc
tpopela@redhat.com [Tue, 23 May 2017 07:17:28 +0000 (07:17 +0000)]
[WTF] Compilation fails with system malloc
https://bugs.webkit.org/show_bug.cgi?id=172445

Reviewed by Michael Catanzaro.

We are using the bmalloc even if the system malloc should be used.
Don't use bmalloc if the system malloc is requested and add the
missing implementation for computeRAMSize() on UNIX that's utilizing
the sysinfo() call.

* wtf/RAMSize.cpp:
(WTF::computeRAMSize):

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

2 years ago[GTK] Web Inspector: Add a new icon CSSVariable.svg
commit-queue@webkit.org [Tue, 23 May 2017 07:02:43 +0000 (07:02 +0000)]
[GTK] Web Inspector: Add a new icon CSSVariable.svg
https://bugs.webkit.org/show_bug.cgi?id=172491

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-05-23
Reviewed by Carlos Garcia Campos.

* UserInterface/Images/gtk/CSSVariable.svg: Added.

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

2 years ago[Win] Update expectations for layout tests.
pvollan@apple.com [Tue, 23 May 2017 06:50:17 +0000 (06:50 +0000)]
[Win] Update expectations for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=172437

Unreviewed test gardening, update test expectations for failing tests.

* platform/win/TestExpectations:

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

2 years agoSupport calc() in font-variation-settings and font-feature-settings
mmaxfield@apple.com [Tue, 23 May 2017 06:03:24 +0000 (06:03 +0000)]
Support calc() in font-variation-settings and font-feature-settings
https://bugs.webkit.org/show_bug.cgi?id=171032

Reviewed by David Hyatt.

Source/WebCore:

Tests: css3/font-feature-settings-calc.html
       fast/text/variations/calc.html

We can use the convenience functions in CSSPropertyParserHelpers.cpp.

* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFontFeatureTag):
(WebCore::consumeFontVariationTag):

LayoutTests:

* css3/font-feature-settings-calc-expected.html: Added.
* css3/font-feature-settings-calc.html: Added.
* fast/text/variations/calc-expected.html: Added.
* fast/text/variations/calc.html: Added.

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

2 years agoWeb Inspector: Changes are not applied in CSS sidebar when switching to Resources...
drousso@apple.com [Tue, 23 May 2017 04:59:53 +0000 (04:59 +0000)]
Web Inspector: Changes are not applied in CSS sidebar when switching to Resources tab without blurring editor
https://bugs.webkit.org/show_bug.cgi?id=172388

Reviewed by Joseph Pecoraro.

* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype.refreshEditor):
* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused):
(WebInspector.RulesStyleDetailsPanel.prototype.shown):
When showing the StyleDetailsPanel, if there is an active editor, which is now saved each
time one becomes focused, force an update of that editor's content.

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

2 years agoWeb Inspector: New Tab contents not centered vertically
commit-queue@webkit.org [Tue, 23 May 2017 03:50:13 +0000 (03:50 +0000)]
Web Inspector: New Tab contents not centered vertically
https://bugs.webkit.org/show_bug.cgi?id=172486

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-05-22
Reviewed by Devin Rousso.

* UserInterface/Views/NewTabContentView.css:
(.new-tab.tab.content-view):
Use align-items instead of align-content.

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

2 years agoUnreviewed, attempt to fix test runner by removing Unicode character from stderr...
mcatanzaro@igalia.com [Tue, 23 May 2017 01:57:29 +0000 (01:57 +0000)]
Unreviewed, attempt to fix test runner by removing Unicode character from stderr output
https://bugs.webkit.org/show_bug.cgi?id=168409

* page/Page.cpp:
(WebCore::Page::suspendScriptedAnimations):

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

2 years agoAvoid moving to the second frame of an animated image before the first frame has...
commit-queue@webkit.org [Tue, 23 May 2017 01:51:04 +0000 (01:51 +0000)]
Avoid moving to the second frame of an animated image before the first frame has finished decoding
https://bugs.webkit.org/show_bug.cgi?id=172461

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-05-22
Reviewed by Simon Fraser.

Sometimes the frameCount of an animated image gets changed when more data
is received. The problem is we may start decoding the image as if it were
a static large image and the decoding of this first frame finishes after
the image starts animating.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::draw):
(WebCore::BitmapImage::imageFrameAvailableAtIndex):

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

2 years agoREGRESSION(r215686): O(n^2) algorithm in CachedRawResource::addDataBuffer
achristensen@apple.com [Tue, 23 May 2017 00:50:58 +0000 (00:50 +0000)]
REGRESSION(r215686): O(n^2) algorithm in CachedRawResource::addDataBuffer
https://bugs.webkit.org/show_bug.cgi?id=172406
<rdar://32109532>

Reviewed by Brady Eidson.

Source/WebCore:

CachedRawResource::calculateIncrementalDataChunk was calling SharedBuffer::data each time the data
was appended to the SharedBuffer. This causes the data to be copied from two segments to one segment,
which causes the O(n^2) behavior I was worried about in r215686. These append/data/append/data calls
used to cause O(1) copies per byte which was amortized because of the exponential growth of the buffer.
After this change, there should be 0 copies per byte here, and instead a O(log(n)) binary search in the
call to std::upper_bound to find the next segment of data with a given starting location in the SharedBuffer.
We need to store the additional information of the offsets of the beginnings of the segments in a
SharedBuffer. This doesn't asymptotically increase our memory usage, but it does allow us to asymptotically
decrease the amount of time it takes to find data at a given offset in a SharedBuffer from O(n) to O(log(n)).

This allows us to complete http://speedtest.xfinity.com and new functionality in SharedBuffer is covered by API tests.

* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::processNewCueData):
* loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::calculateIncrementalDataChunk):
(WebCore::CachedRawResource::addDataBuffer):
(WebCore::CachedRawResource::finishLoading):
* loader/cache/CachedRawResource.h:
* platform/SharedBuffer.cpp:
(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::combineIntoOneSegment):
(WebCore::SharedBuffer::data):
(WebCore::SharedBuffer::getSomeData):
(WebCore::SharedBuffer::tryCreateArrayBuffer):
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::clear):
(WebCore::SharedBuffer::copy):
(WebCore::SharedBuffer::internallyConsistent):
(WebCore::SharedBuffer::hintMemoryNotNeededSoon):
(WebCore::SharedBufferDataView::SharedBufferDataView):
(WebCore::SharedBufferDataView::size):
(WebCore::SharedBufferDataView::data):
* platform/SharedBuffer.h:
* platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::createCFData):
(WebCore::SharedBuffer::hintMemoryNotNeededSoon):
(WebCore::SharedBuffer::append):
* platform/cocoa/SharedBufferCocoa.mm:
(WebCore::SharedBuffer::createNSData):
(WebCore::SharedBuffer::createCFData):
(WebCore::SharedBuffer::createNSDataArray):

Source/WebKit2:

* Platform/IPC/DataReference.cpp:
(IPC::SharedBufferDataReference::encode):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::redeliverManualStream):

Tools:

* TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:
(TestWebKitAPI::checkBuffer):
(TestWebKitAPI::TEST_F):

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

2 years agoDo not enter Subversion-specific logic when parsing Git-based Trac data.
jmarcell@apple.com [Tue, 23 May 2017 00:29:47 +0000 (00:29 +0000)]
Do not enter Subversion-specific logic when parsing Git-based Trac data.
https://bugs.webkit.org/show_bug.cgi?id=172433
<rdar://problem/32234188>

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
(Trac.prototype._convertCommitInfoElementToObject):

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

2 years agoWeb Inspector: New CSS Rules should go into a new Stylesheet Resource that can be...
drousso@apple.com [Mon, 22 May 2017 23:44:49 +0000 (23:44 +0000)]
Web Inspector: New CSS Rules should go into a new Stylesheet Resource that can be viewed/edited/saved
https://bugs.webkit.org/show_bug.cgi?id=138810

Reviewed by Joseph Pecoraro.

* Localizations/en.lproj/localizedStrings.js:

* UserInterface/Controllers/CSSStyleManager.js:
(WebInspector.CSSStyleManager):
(WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame):
(WebInspector.CSSStyleManager.prototype._updateResourceContent.fetchedStyleSheetContent):
Manually dispatch a change event for modifications to CSSStyleSheet objects since they are
not covered by the listener for Resource changes.

* UserInterface/Main.html:
Include WebInspector.CSSStyleSheetTreeElement.

* UserInterface/Models/Collection.js:
(WebInspector.Collection.TypeVerifier):
* UserInterface/Models/ResourceCollection.js:
(WebInspector.ResourceCollection.TypeVerifier.Stylesheet):
Add TypeVerifier for CSSStyleSheet.

* UserInterface/Models/DOMNodeStyles.js:
(WebInspector.DOMNodeStyles.prototype._parseRulePayload):
Manually create a SourceCodeLocation object for Inspector Style Sheets.

* UserInterface/Views/CSSStyleSheetTreeElement.js: Added.
(WebInspector.CSSStyleSheetTreeElement):

* UserInterface/Views/ResourceIcons.css:
(:matches(.resource-icon.resource-type-stylesheet, .stylessheet-icon) .icon):

* UserInterface/Views/FrameTreeElement.js:
(WebInspector.FrameTreeElement.forwardingConstructor):
(WebInspector.FrameTreeElement):
(WebInspector.FrameTreeElement.prototype.onattach):
(WebInspector.FrameTreeElement.prototype.ondetach):
(WebInspector.FrameTreeElement.prototype.onpopulate):
(WebInspector.FrameTreeElement.prototype._styleSheetAdded):
* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype._styleSheetAdded):
(WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
Listen for the creation of CSSStyleSheet objects and add them to the sidebar if they are an
Inspector Style Sheet.  Regular style sheets are added via their respective resources.

* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
Prevent CSSStyleSheetTreeElement instances from attempting to save state to a cookie.

* UserInterface/Base/Main.js:
(WebInspector.tabContentViewClassForRepresentedObject):
(WebInspector.createSourceCodeLocationLink):
* UserInterface/Views/ContentView.js:
(WebInspector.ContentView.createFromRepresentedObject):
(WebInspector.ContentView.isViewable):
* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
* UserInterface/Views/ResourcesTabContentView.js:
(WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
* UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView):
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._prepareEditorForInitialContent):
(WebInspector.SourceCodeTextEditor.prototype._looselyMatchesSourceCodeLocation):
(WebInspector.SourceCodeTextEditor.prototype._matchesSourceCodeLocation):
* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
(WebInspector.TextResourceContentView.prototype.get supportsSave):
(WebInspector.TextResourceContentView.prototype.get saveData):
(WebInspector.TextResourceContentView.prototype._contentWillPopulate):
(WebInspector.TextResourceContentView.prototype._shouldBeEditable):
Support editing and saving an Inspector Style Sheet via its CSSStyleSheet object.

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

2 years agoMark to imported/w3c/web-platform-tests/webrtc tests as failing on ios-wk2.
ryanhaddad@apple.com [Mon, 22 May 2017 23:41:13 +0000 (23:41 +0000)]
Mark to imported/w3c/web-platform-tests/webrtc tests as failing on ios-wk2.
https://bugs.webkit.org/show_bug.cgi?id=171605

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

2 years agoResources in cached parsed stylesheets may bypass content blockers
cdumez@apple.com [Mon, 22 May 2017 23:27:16 +0000 (23:27 +0000)]
Resources in cached parsed stylesheets may bypass content blockers
https://bugs.webkit.org/show_bug.cgi?id=172468
<rdar://problem/31972693>

Reviewed by Geoffrey Garen.

Resources in cached parsed stylesheets could bypass content blockers when they were in the memory cache and
they did not need revalidation.

To address the issue, I made StyleSheetContents::subresourcesAllowReuse() to check content blockers.
If a subresource in the cached stylesheet is blocked, then we return false in subresourcesAllowReuse() and
the cached parsed stylesheet will not be used.

No new tests, not currently testable.

* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::subresourcesAllowReuse):
* css/StyleSheetContents.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
* loader/cache/CachedCSSStyleSheet.h:

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

2 years agoASSERTION FAILED: tokens.find(item) == notFound in WebCore::DOMTokenList::replace
cdumez@apple.com [Mon, 22 May 2017 23:00:25 +0000 (23:00 +0000)]
ASSERTION FAILED: tokens.find(item) == notFound in WebCore::DOMTokenList::replace
https://bugs.webkit.org/show_bug.cgi?id=172473

Reviewed by Ryosuke Niwa.

Source/WebCore:

Fix bad assertion in DOMTokenList::replace(). If item == replacement, then the
assertion was wrong.

No new tests, unskipped existing test.

* html/DOMTokenList.cpp:
(WebCore::DOMTokenList::replace):

LayoutTests:

* TestExpectations:
Unskip test.

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

2 years agoMark http/tests/loading/resourceLoadStatistics/grandfathering.html as flaky.
ryanhaddad@apple.com [Mon, 22 May 2017 22:52:06 +0000 (22:52 +0000)]
Mark http/tests/loading/resourceLoadStatistics/grandfathering.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=172452

Unreviewed test gardening.

* platform/wk2/TestExpectations:

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

2 years agoUpdate TestExpectations for two new WPT LayoutTests.
ryanhaddad@apple.com [Mon, 22 May 2017 22:47:46 +0000 (22:47 +0000)]
Update TestExpectations for two new WPT LayoutTests.
https://bugs.webkit.org/show_bug.cgi?id=172472

Unreviewed test gardening.

* TestExpectations:

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

2 years agoNeed a way to allow WKWebView to load request with ShouldOpenExternalURLsPolicy:...
commit-queue@webkit.org [Mon, 22 May 2017 22:41:02 +0000 (22:41 +0000)]
Need a way to allow WKWebView to load request with ShouldOpenExternalURLsPolicy::ShouldAllow.
https://bugs.webkit.org/show_bug.cgi?id=172460

Add an new method [WKWebView _loadRequest:shouldOpenExternalURLs:] to WKWebView; a WebKit client
can use this to load request that allows opening external URLs.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2017-05-22
Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _loadRequest:shouldOpenExternalURLs:]): When calling WebPageProxy::loadRequest, also
    set ShouldOpenExternalURLsPolicy based on the value of shouldOpenExternalURLs.
* UIProcess/API/Cocoa/WKWebViewPrivate.h: Add [WKWebView _loadRequest:shouldOpenExternalURLs:].

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

2 years agoRemove AVAudioCaptureSource
commit-queue@webkit.org [Mon, 22 May 2017 22:19:50 +0000 (22:19 +0000)]
Remove AVAudioCaptureSource
https://bugs.webkit.org/show_bug.cgi?id=172360

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

Source/WebCore:

No change of behavior, this class is no longer used by default as it does not support echo cancellation.

* WebCore.xcodeproj/project.pbxproj:
* page/Settings.cpp:
(WebCore::Settings::setMediaCaptureRequiresSecureConnection):
(WebCore::Settings::useAVFoundationAudioCapture): Deleted.
(WebCore::Settings::setUseAVFoundationAudioCapture): Deleted.
* page/Settings.h:
* platform/mediastream/mac/AVAudioCaptureSource.h: Removed.
* platform/mediastream/mac/AVAudioCaptureSource.mm: Removed.
* platform/mediastream/mac/AVCaptureDeviceManager.h:
* platform/mediastream/mac/AVCaptureDeviceManager.mm:
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::defaultAudioFactory):
(WebCore::RealtimeMediaSourceCenterMac::defaultAudioCaptureDeviceManager):
(WebCore::RealtimeMediaSourceCenterMac::setUseAVFoundationAudioCapture): Deleted.
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.h:

Source/WebKit/mac:

Removing the handling of AVAudio/CoreAudio capture source dynamic switch.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences useAVFoundationAudioCapture]): Deleted.
(-[WebPreferences setUseAVFoundationAudioCapture:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Removing the handling of AVAudio/CoreAudio capture source dynamic switch.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetUseAVFoundationAudioCapture): Deleted.
(WKPreferencesGetUseAVFoundationAudioCapture): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::syncWithWebCorePrefs):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

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

2 years agoRemove Java tests.
ap@apple.com [Mon, 22 May 2017 22:09:49 +0000 (22:09 +0000)]
Remove Java tests.

Rubber-stamped by Tim Horton.

These tests were disabled on all platforms for a long long time now.

* TestExpectations:
* java: Removed.
* platform/ios/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:
* platform/wk2/TestExpectations:
* platform/wpe/TestExpectations:

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

2 years agoExplicitSnapshotsChangeUponNavigation API test often fails
timothy_horton@apple.com [Mon, 22 May 2017 22:08:09 +0000 (22:08 +0000)]
ExplicitSnapshotsChangeUponNavigation API test often fails
https://bugs.webkit.org/show_bug.cgi?id=172475
<rdar://problem/31688322>

Reviewed by Simon Fraser.

* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView _setUpTestWindow:]):
Make TestWKWebView's window layer-backed. This is now the default,
and it's also easy to accidentally write a test that depends on it
(for example, ExplicitSnapshotsChangeUponNavigation adds an NSBox,
which becomes layer backed, just like the WKWebView, but with no
common layer-backed ancestor).

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

2 years agoWeb Inspector: webkit reload policy should match default behavior
bburg@apple.com [Mon, 22 May 2017 22:06:47 +0000 (22:06 +0000)]
Web Inspector: webkit reload policy should match default behavior
https://bugs.webkit.org/show_bug.cgi?id=171385
<rdar://problem/31871515>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Add a new option to Page.reload that allows the test harness
to reload its test page using the old reload behavior.

The new behavior of revalidating expired cached subresources only
is the current default, since only the test harness needs the old behavior.

* inspector/protocol/Page.json:

Source/WebCore:

Add an option to PageAgent.reload that tells the backend to use the old
behavior that revalidates unexpired cached subresources. This used by tests.

Covered by existing network/memory/disk cache tests.

* inspector/InspectorPageAgent.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::reload):

Source/WebInspectorUI:

* UserInterface/Base/Main.js:
Use PageAgent.reload.invoke to make the reload options more explicit.

* UserInterface/Test/FrontendTestHarness.js:
(FrontendTestHarness.prototype.reloadPage):
Convert this method to take an options dictionary rather than positional
boolean arguments. Update call sites to pass correct options.

When running tests, we want to revalidate unexpired resources, as there
does not seem to be another reliable way to trigger revalidated cached
resources from a Web Inspector layout test. Make this behavior the default.

LayoutTests:

* http/tests/inspector/replay/replay-test.js:
* http/tests/inspector/network/resource-sizes-memory-cache.html:
Update tests to match new API.

* http/tests/inspector/network/resource-response-source-memory-cache.html:
* http/tests/inspector/network/set-resource-caching-disabled-memory-cache.html:
Added. This is a copy of the above test but uses the option to do a "legacy" reload.
With this reload type, the resource returned with HTTP 200.

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

2 years ago[preload] Add media and type attribute support.
yoav@yoav.ws [Mon, 22 May 2017 22:03:18 +0000 (22:03 +0000)]
[preload] Add media and type attribute support.
https://bugs.webkit.org/show_bug.cgi?id=171720

Reviewed by Youenn Fablet.

Source/WebCore:

Tests: http/wpt/preload/media-attribute.html
       http/wpt/preload/type-attribute.html
       http/tests/preload/viewport/meta-viewport-link-headers.php

* css/MediaQueryEvaluator.cpp: Move the mediaAttributeMatches code from HTMLResourcePreloader to a central location.
(WebCore::MediaQueryEvaluator::mediaAttributeMatches):
* css/MediaQueryEvaluator.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement): Use isSupportedImageOrSVGMIMEType() instead of checking SVG MIME type specifically.
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::process): Call loadLink() with the media and type attributes.
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer): Trigger Link header based preload for links that have the media attribute.
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest): Avoid preloading link resources with non-matching type.
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Collect the type attribute for link resources.
* html/parser/HTMLResourcePreloader.cpp:
(WebCore::HTMLResourcePreloader::preload): Use MediaQueryEvaluator::mediaAttributeMatches instead of the local one.
(WebCore::mediaAttributeMatches): Deleted.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::receivedFirstData): Indicate that only link preloads with no media attribute should be loaded here.
* loader/LinkLoader.cpp:
(WebCore::LinkLoader::loadLinksFromHeader): Load only links with or without media attributes, according to mode. Also send media and
type attributes to preloadIfNeeded().
(WebCore::LinkLoader::isSupportedType): Check if the MIME type is supported for the CachedResource::Type.
(WebCore::LinkLoader::preloadIfNeeded): Get the media and type attributes and only trigger a preload if media matches and type is supported.
(WebCore::LinkLoader::loadLink): Pass along the media and type attributes.
* loader/LinkLoader.h:
* platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::isSupportedImageOrSVGMIMEType): Check if MIME type is supported for an image, or is an SVG mime type.
(WebCore::MIMETypeRegistry::isSupportedStyleSheetMIMEType): Check if MIME type is supported for a stylesheet.
(WebCore::MIMETypeRegistry::isSupportedFontMIMEType): Check if MIME type is supported for a font.
(WebCore::MIMETypeRegistry::isSupportedTextTrackMIMEType): Check if MIME type is supported for a text track.
* platform/MIMETypeRegistry.h:

LayoutTests:

* TestExpectations: Skip http/tests/preload/viewport as meta viewport is turned off in most platforms.
* http/wpt/preload/media-attribute-expected.txt: Added.
* http/wpt/preload/media-attribute.html: Added.
* http/wpt/preload/type-attribute-expected.txt: Added.
* http/wpt/preload/type-attribute.html: Added.
* http/wpt/preload/resources/square.png: Added.
* http/wpt/preload/resources/dummy.js: Added.
* http/tests/preload/viewport/meta-viewport-link-headers-expected.txt: Added.
* http/tests/preload/viewport/meta-viewport-link-headers.php: Added.
* platform/ios-simulator/TestExpectations: Turn on http/tests/preload/viewport for ios-simulator.
* platform/ios/TestExpectations: Turn on http/tests/preload/viewport for ios.

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

2 years ago[CG] Use the SPI CGImageSourceGetTypeWithData() to get the typeIdentifierHint of...
commit-queue@webkit.org [Mon, 22 May 2017 21:23:24 +0000 (21:23 +0000)]
[CG] Use the SPI CGImageSourceGetTypeWithData() to get the typeIdentifierHint of an image
https://bugs.webkit.org/show_bug.cgi?id=172405

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-05-22
Reviewed by Simon Fraser.

Use CGImageSourceGetTypeWithData() to get the typeIdentifierHint which will
be passed to CGImageSourceCreateIncremental(). If data is insufficient to
guess typeIdentifierHint, that means the image size is still not available.
In this case, CachedImage::addIncrementalDataBuffer() will call error()
which will call clear() which will call Image::destroyDecodedData()
which will delete the current ImageDecoder and creates a new one. So we
don't need to check the return value insufficientData.

* platform/graphics/DecodingOptions.h: Fix the header file dependencies.
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::ensureDecoderAvailable): No need for the URL parameter.
* platform/graphics/ImageTypes.h: Move a typedef from ImageDecoderCG.h to ImageTypes.h.
* platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoder::ImageDecoder): Pass the SharedBuffer data to the constructor.
* platform/graphics/cg/ImageDecoderCG.h:
(WebCore::ImageDecoder::create): No need for the URL argument.
* platform/graphics/win/ImageDecoderDirect2D.h:
(WebCore::ImageDecoder::create): Remove the URL argument from the function signature.
* platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageDecoder::create): Remove the URL argument from the function signature.
* platform/image-decoders/ImageDecoder.h:
* platform/spi/cg/ImageIOSPI.h: Add the prototype of CGImageSourceGetTypeWithData().

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

2 years agoMark imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey...
ryanhaddad@apple.com [Mon, 22 May 2017 21:13:45 +0000 (21:13 +0000)]
Mark imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html as a timeout on El Capitan.
https://bugs.webkit.org/show_bug.cgi?id=172469

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

2 years agoWeb Automation: characters produced with shift modifier on QWERTY keyboard should...
bburg@apple.com [Mon, 22 May 2017 20:56:49 +0000 (20:56 +0000)]
Web Automation: characters produced with shift modifier on QWERTY keyboard should be delivered as shift-down, char-down, char-up, shift-up events
https://bugs.webkit.org/show_bug.cgi?id=172299
<rdar://problem/32277988>

Reviewed by Joseph Pecoraro.

WebDriver tests expect some ASCII characters to be produced using the shift key,
regardless of the actual keyboard layout. Emit extra events when simulating these
keystrokes if the shift key is not already pressed.

* UIProcess/Automation/mac/WebAutomationSessionMac.mm:
(WebKit::characterIsProducedUsingShift):
(WebKit::WebAutomationSession::platformSimulateKeySequence):

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

2 years agoMany WebAudio js-tests use waitUntilDone
ap@apple.com [Mon, 22 May 2017 20:49:12 +0000 (20:49 +0000)]
Many WebAudio js-tests use waitUntilDone
https://bugs.webkit.org/show_bug.cgi?id=172398

Reviewed by Sam Weinig.

Corrected the use of js-test harness, updated the tests to use js-test.js instead
of js-test-pre.js where possible.

* resources/js-test.js: (shouldReject): Copied some funcitonality form js-test-pre.js
that wasn't present here.

* webaudio/analyser-exception.html:
* webaudio/audiobuffer-neuter-expected.txt:
* webaudio/audiobuffer-neuter.html:
* webaudio/audiobuffersource-channels.html:
* webaudio/audiobuffersource-ended-expected.txt:
* webaudio/audiobuffersource-ended.html:
* webaudio/audiobuffersource-exception.html:
* webaudio/audiobuffersource-loop-comprehensive-expected.txt:
* webaudio/audiobuffersource-loop-comprehensive.html:
* webaudio/audiobuffersource-negative-playbackrate-expected.txt:
* webaudio/audiobuffersource-negative-playbackrate-interpolated-expected.txt:
* webaudio/audiobuffersource-negative-playbackrate-interpolated-loop-expected.txt:
* webaudio/audiobuffersource-negative-playbackrate-interpolated-loop.html:
* webaudio/audiobuffersource-negative-playbackrate-interpolated.html:
* webaudio/audiobuffersource-negative-playbackrate-loop-expected.txt:
* webaudio/audiobuffersource-negative-playbackrate-loop.html:
* webaudio/audiobuffersource-negative-playbackrate.html:
* webaudio/audiobuffersource-playbackState.html:
* webaudio/audiobuffersource-start-expected.txt:
* webaudio/audiobuffersource-start.html:
* webaudio/audiochannelmerger-basic.html:
* webaudio/audiochannelmerger-stereo.html:
* webaudio/audiochannelsplitter.html:
* webaudio/audiocontext-promise-throwing.html:
* webaudio/audiocontext-promise.html:
* webaudio/audiocontext-restriction-audiobuffersourcenode-start.html:
* webaudio/audiocontext-restriction.html:
* webaudio/audiocontext-state-interrupted.html:
* webaudio/audiocontext-state.html:
* webaudio/audionode-channel-rules.html:
* webaudio/audionode-connect-order.html:
* webaudio/audionode.html:
* webaudio/audioparam-connect-audioratesignal.html:
* webaudio/audioparam-summingjunction.html:
* webaudio/audioprocessingevent.html:
* webaudio/automatic-pull-node.html:
* webaudio/biquad-allpass.html:
* webaudio/biquad-bandpass.html:
* webaudio/biquad-getFrequencyResponse.html:
* webaudio/biquad-highpass.html:
* webaudio/biquad-highshelf.html:
* webaudio/biquad-lowpass.html:
* webaudio/biquad-lowshelf.html:
* webaudio/biquad-notch.html:
* webaudio/biquad-peaking.html:
* webaudio/biquadfilternode-basic.html:
* webaudio/convolution-mono-mono.html:
* webaudio/decode-audio-data-basic.html:
* webaudio/decode-audio-data-too-short.html:
* webaudio/delaynode-max-default-delay.html:
* webaudio/delaynode-max-nondefault-delay.html:
* webaudio/delaynode-maxdelay.html:
* webaudio/delaynode-maxdelaylimit.html:
* webaudio/delaynode-scheduling.html:
* webaudio/delaynode.html:
* webaudio/distance-exponential.html:
* webaudio/distance-inverse.html:
* webaudio/distance-linear.html:
* webaudio/dynamicscompressor-basic.html:
* webaudio/javascriptaudionode-downmix8-2channel-input.html:
* webaudio/javascriptaudionode-upmix2-8channel-input.html:
* webaudio/javascriptaudionode-zero-input-channels.html:
* webaudio/javascriptaudionode.html:
* webaudio/mediaelementaudiosourcenode.html:
* webaudio/oscillator-basic.html:
* webaudio/oscillator-ended-expected.txt:
* webaudio/oscillator-ended.html:
* webaudio/page-canstartmedia.html:
* webaudio/panner-equalpower-stereo.html:
* webaudio/panner-equalpower.html:
* webaudio/panner-loop.html:
* webaudio/pannernode-basic.html:
* webaudio/realtimeanalyser-fft-scaling.html:
* webaudio/realtimeanalyser-fft-sizing.html:
* webaudio/resources/audiobuffersource-testing.js:
(checkAllTests):
* webaudio/sample-accurate-scheduling.html:
* webaudio/stereo2mono-down-mixing.html:
* webaudio/test-basic.html:
* webaudio/waveshaper.html:

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

2 years agoSameSizeAsInlineBox mismatch on ARMV7.
zalan@apple.com [Mon, 22 May 2017 20:28:06 +0000 (20:28 +0000)]
SameSizeAsInlineBox mismatch on ARMV7.
https://bugs.webkit.org/show_bug.cgi?id=172459

Reviewed by Simon Fraser.

Due to the ARMV7/i386 padding behaviour mismatch, forcing m_bitfields to be 32bits does not always
produce the desired padding.
Move the bool to the end of the member list and let m_deletionSentinel (4bytes) force
padding.

* rendering/InlineBox.cpp:
* rendering/InlineBox.h:

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

2 years agoEnable the woff2-variations @font-face format identifier
mmaxfield@apple.com [Mon, 22 May 2017 20:12:43 +0000 (20:12 +0000)]
Enable the woff2-variations @font-face format identifier
https://bugs.webkit.org/show_bug.cgi?id=172425

Reviewed by Andreas Kling.

Source/WebCore:

We support woff2, and woff-variations, but not woff2-variations.
https://github.com/w3c/csswg-drafts/commit/5c914a8a0382734bd420090a89bc19b32e6c302d

Test: fast/text/variations/font-face-format-woff2.html

* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::supportsFormat):

LayoutTests:

* fast/text/variations/font-face-format-woff2-expected.html: Added.
* fast/text/variations/font-face-format-woff2.html: Added.
* platform/mac/TestExpectations:

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

2 years ago[Cocoa] An exported Objective C class’s prototype and constructor don't persist acros...
keith_miller@apple.com [Mon, 22 May 2017 19:48:38 +0000 (19:48 +0000)]
[Cocoa] An exported Objective C class’s prototype and constructor don't persist across JSContext deallocation
https://bugs.webkit.org/show_bug.cgi?id=167708

Reviewed by Geoffrey Garen.

This patch moves the Objective C wrapper map to the global object. In order to make this work the JSWrapperMap
class no longer holds a reference to the JSContext. Instead, the context must be provided when getting a wrapper.

Also, this patch fixes a "bug" where we would observe changes to the Object property on the global object when
creating a wrapper for NSObject.

* API/APICast.h:
(toJSGlobalObject):
* API/JSContext.mm:
(-[JSContext ensureWrapperMap]):
(-[JSContext initWithVirtualMachine:]):
(-[JSContext dealloc]):
(-[JSContext wrapperMap]):
(-[JSContext initWithGlobalContextRef:]):
(-[JSContext wrapperForObjCObject:]):
(-[JSContext wrapperForJSObject:]):
* API/JSWrapperMap.h:
* API/JSWrapperMap.mm:
(-[JSObjCClassInfo initForClass:]):
(-[JSObjCClassInfo allocateConstructorAndPrototypeInContext:]):
(-[JSObjCClassInfo wrapperForObject:inContext:]):
(-[JSObjCClassInfo constructorInContext:]):
(-[JSObjCClassInfo prototypeInContext:]):
(-[JSWrapperMap initWithGlobalContextRef:]):
(-[JSWrapperMap classInfoForClass:]):
(-[JSWrapperMap jsWrapperForObject:inContext:]):
(-[JSWrapperMap objcWrapperForJSValueRef:inContext:]):
(-[JSObjCClassInfo initWithContext:forClass:]): Deleted.
(-[JSObjCClassInfo allocateConstructorAndPrototype]): Deleted.
(-[JSObjCClassInfo wrapperForObject:]): Deleted.
(-[JSObjCClassInfo constructor]): Deleted.
(-[JSObjCClassInfo prototype]): Deleted.
(-[JSWrapperMap initWithContext:]): Deleted.
(-[JSWrapperMap jsWrapperForObject:]): Deleted.
(-[JSWrapperMap objcWrapperForJSValueRef:]): Deleted.
* API/tests/JSExportTests.mm:
(wrapperLifetimeIsTiedToGlobalObject):
(runJSExportTests):
* API/tests/testapi.mm:
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::wrapperMap):
(JSC::JSGlobalObject::setWrapperMap):

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

2 years ago[mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html...
commit-queue@webkit.org [Mon, 22 May 2017 19:44:54 +0000 (19:44 +0000)]
[mac-wk1] LayoutTest media/modern-media-controls/airplay-button/airplay-button.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=168409

Patch by Antoine Quint <graouts@apple.com> on 2017-05-22
Reviewed by Simon Fraser.

Remove all the custom logging code we wrote to diagnose why this specific test failed and instead
log the backtrace when the ScriptedAnimationController gets suspended, which should allow us to
identify which test actually leads to suspension and affects this particular test.

* Modules/modern-media-controls/controls/scheduler.js:
(const.scheduler.new.prototype.scheduleLayout):
(const.scheduler.new.prototype.unscheduleLayout):
(const.scheduler.new.prototype._requestFrameIfNeeded):
(const.scheduler.new.prototype._frameDidFire):
(const.scheduler.new.prototype._layout):
* dom/Document.cpp:
(WebCore::Document::requestAnimationFrame):
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::suspend):
(WebCore::ScriptedAnimationController::resume):
(WebCore::ScriptedAnimationController::addThrottlingReason):
(WebCore::ScriptedAnimationController::removeThrottlingReason):
(WebCore::ScriptedAnimationController::registerCallback):
(WebCore::ScriptedAnimationController::cancelCallback):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::dispatchLoggingEventIfRequired): Deleted.
* dom/ScriptedAnimationController.h:
* page/Page.cpp:
(WebCore::Page::suspendScriptedAnimations):
* page/Settings.in:
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::resetToConsistentState):
(WebCore::InternalSettings::shouldDispatchRequestAnimationFrameEvents): Deleted.
(WebCore::InternalSettings::setShouldDispatchRequestAnimationFrameEvents): Deleted.
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

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

2 years agoDon't unconditionally reset TextIterator::m_handledChildren for display: contents...
commit-queue@webkit.org [Mon, 22 May 2017 19:43:39 +0000 (19:43 +0000)]
Don't unconditionally reset TextIterator::m_handledChildren for display: contents nodes.
https://bugs.webkit.org/show_bug.cgi?id=172443

This avoids an infinite hang when enabling display: contents in bug 171984.

Patch by Emilio Cobos Álvarez <ecobos@igalia.com> on 2017-05-22
Reviewed by Antti Koivisto.

No new tests. Relanding bug 171984 will add test coverage for this.

* editing/TextIterator.cpp:
(WebCore::hasDisplayContents):
(WebCore::fullyClipsContents):
(WebCore::TextIterator::advance):

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

2 years ago[WebIDL] Support callbacks with arbitrary return types
commit-queue@webkit.org [Mon, 22 May 2017 19:27:43 +0000 (19:27 +0000)]
[WebIDL] Support callbacks with arbitrary return types
https://bugs.webkit.org/show_bug.cgi?id=172407

Patch by Sam Weinig <sam@webkit.org> on 2017-05-22
Reviewed by Chris Dumez.

Source/WebCore:

- Adds and adopts CallbackResult<> template class that encapsulates a return value
  and status from a javascript callback.
- Updates NodeIterator/TreeWalker to explicitly propagate exceptions thrown from
  a JSNodeFilter, rather than relying on the JSNodeFilter to catch them (seemingly
  accidentally).

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
Update file lists.

* Modules/geolocation/PositionCallback.h:
* Modules/geolocation/PositionErrorCallback.h:
* Modules/notifications/NotificationPermissionCallback.h:
* Modules/webaudio/AudioBufferCallback.h:
* Modules/webdatabase/DatabaseCallback.h:
* dom/RequestAnimationFrameCallback.h:
* dom/StringCallback.h:
* dom/Traversal.cpp:
* fileapi/BlobCallback.h:
* html/VoidCallback.h:
* page/IntersectionObserverCallback.h:
* page/PerformanceObserverCallback.h:
* css/MediaQueryListListener.h:
* Modules/webdatabase/SQLStatement.h:
* Modules/webdatabase/SQLStatementCallback.h:
* Modules/webdatabase/SQLStatementErrorCallback.h:
* Modules/webdatabase/SQLTransaction.cpp:
* Modules/webdatabase/SQLTransactionCallback.h:
* Modules/webdatabase/SQLTransactionErrorCallback.h:
* inspector/InspectorDatabaseAgent.cpp:
Adopt CallbackResult.

* Modules/webdatabase/SQLStatementErrorCallback.idl:
Remove Custom extended attribute annotation.

* Modules/webdatabase/SQLStatement.cpp:
(WebCore::SQLStatement::performCallback):
Adopt CallbackResult, migrating logic from JSSQLStatementErrorCallbackCustom
into the implementation, by way of the status enum.

* bindings/IDLTypes.h:
Add IDLVoid type.

* bindings/js/JSNodeFilterCustom.cpp: Removed.
* bindings/js/JSSQLStatementErrorCallbackCustom.cpp: Removed.
Remove now unneeded custom bindings.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateIndexedGetter):
(GenerateNamedGetter):
(GenerateImplementation):
(GenerateImplementationFunctionCall):
Update for new NativeToJSValue arguments.

(GenerateCallbackHeaderContent):
(GenerateCallbackImplementationContent):
Remove requirement of only void return types and update return type to use CallbackFunction.
Also adds necessary conversion of return value.

(GetBaseIDLType):
Add void IDL type mapping.

(IsValidContextForJSValueToNative):
Add operation as valid context, as that is what the callback return type's context is.

(NativeToJSValueUsingReferences):
(NativeToJSValueUsingPointers):
(NativeToJSValue):
Rework NativeToJSValueUsingReferences/NativeToJSValueUsingPointers to take a global object reference
accessor rather than a thisObject accessor, as a thisObject is not always available, and what the function
actually wants is the global object.

* bindings/scripts/IDLAttributes.json:
Add new RethrowException attribute to instruct the callback function to re-throw, rather than
just report, exceptions thrown in the callback and SkipCallbackInvokeCheck which instructs the
callback function to not check canInvokeCallback() before calling. These will both be needed to retain
the behavior of NodeFilter, and should be investigated further.

* bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
* bindings/scripts/test/JS/JSTestCallbackFunction.h:
* bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.cpp: Added.
* bindings/scripts/test/JS/JSTestCallbackFunctionRethrow.h: Added.
* bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.cpp:
* bindings/scripts/test/JS/JSTestCallbackFunctionWithTypedefs.h:
* bindings/scripts/test/JS/JSTestCallbackInterface.cpp:
* bindings/scripts/test/JS/JSTestCallbackInterface.h:
* bindings/scripts/test/JS/JSTestVoidCallbackFunction.cpp: Added.
* bindings/scripts/test/JS/JSTestVoidCallbackFunction.h: Added.
* bindings/scripts/test/TestCallbackFunction.idl:
* bindings/scripts/test/TestCallbackInterface.idl:
* bindings/scripts/test/TestVoidCallbackFunction.idl: Copied from Source/WebCore/bindings/scripts/test/TestCallbackFunction.idl.
Update test results and add some additional test cases for callback functions and callback interface functions that return
non-void and use the RethrowExceptions.

* dom/CallbackResult.h: Added.
(WebCore::CallbackResult<ReturnType>::CallbackResult):
(WebCore::CallbackResult<ReturnType>::type):
(WebCore::CallbackResult<void>::CallbackResult):
(WebCore::CallbackResult<void>::type):
New class to encapsulate the return value and status of a callback function. Modeled loosely on
ExceptionOr, but is simpler since it does not need to handle complex exception objects.

* dom/NativeNodeFilter.cpp:
* dom/NativeNodeFilter.h:
Adopt CallbackResult, matching other NodeFiltering code by using
unsigned short rather than short, remove unused functions, and convert
condition member to a Ref, allowing us to get rid of the branch acceptNode.

* dom/NodeFilter.h:
Adopt CallbackResult.

* dom/NodeFilter.idl:
Replace Custom extended attribute with SkipCallbackInvokeCheck and RethrowException.

* dom/NodeFilterCondition.cpp:
* dom/NodeFilterCondition.h:
Modernize to take a Node reference and match other filtering code
by returning an unsigned short.

* dom/Traversal.cpp:
* dom/Traversal.h:
Adopt CallbackResult and match other node filtering code by using unsigned short
rather than short.

* dom/NodeIterator.cpp:
* dom/NodeIterator.h:
* dom/NodeIterator.idl:
* dom/TreeWalker.cpp:
* dom/TreeWalker.h:
* dom/TreeWalker.idl:
Change functions that callout to javascript via the NodeFilter to
return ExceptionOr<Node>. Check the result of CallbackResult for a
thrown exception, and bail, returning Exception { ExistingExceptionError }
which acts as an indicator to the bindings that an exception was thrown.
(In actuality, the specific exception code does not matter. All that matters
is that an ExceptionOr<> is returned, which triggers, via overload, a path
in toJS() that calls propagateException(), which in turn, checks to see if
an exception is on the stack. But, having an explicit code here helps debugging).

Source/WebKit/mac:

* DOM/DOM.mm:
(-[DOMNodeFilter acceptNode:]):
Update for CallbackResult adoption in the base class.

* DOM/DOMNodeIterator.mm:
* DOM/DOMTreeWalker.mm:
Update to account for new WebCore implementation return types. We return nil
if there was an exception, since retains the existing behavior if a javascript
NodeFilter had been used (an exception would cause all nodes to be rejected,
thus returning nullptr).

* DOM/ObjCNodeFilterCondition.h:
* DOM/ObjCNodeFilterCondition.mm:
Update to match new interface of NodeFilterCondition.

Source/WebKit2:

* WebProcess/InjectedBundle/API/gtk/DOM/GObjectNodeFilterCondition.cpp:
* WebProcess/InjectedBundle/API/gtk/DOM/GObjectNodeFilterCondition.h:
Update to match new interface of NodeFilterCondition.

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeIterator.cpp:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTreeWalker.cpp:
Update to account for new WebCore implementation return types.

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

2 years agoSupport transform-box to switch sizing box in SVG
simon.fraser@apple.com [Mon, 22 May 2017 19:19:24 +0000 (19:19 +0000)]
Support transform-box to switch sizing box in SVG
https://bugs.webkit.org/show_bug.cgi?id=145783

Reviewed by Dean Jackson.

Source/WebCore:

Add support for the CSS "transform-box" property, as described at
<https://drafts.csswg.org/css-transforms/#transform-box>.

This changes the behavior of percentage values in transform-origin in SVG.
When these were added in r110532, percentage values in transform-origin were made
relative to the bounding box, but absolute values relative to the view box.
<https://github.com/w3c/csswg-drafts/issues/895> has concluded that this behavior
is confusing. The new behavior is that, for SVG elements, both absolute and
percentage values are relative to the reference box, which is specified by the
new transform-box property.

The initial value for transform-box is border-box, with the svg.css UA stylesheet
supplying a default of view-box for the relevant SVG elements per
<https://www.w3.org/TR/SVG2/styling.html#UAStyleSheet>.

For non-SVG elements, the used value is always border-box, so there is no change
in behavior.

Tests: fast/css/transform-box-parsing.html
       svg/transforms/svg-transform-box.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TransformBox):
* css/CSSProperties.json:
* css/CSSValueKeywords.in:
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):
* css/svg.css:
(*:not(svg),):
(*): Deleted.
(html|* > svg): Deleted.
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::computeTransformedExtentViaTransformList):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::applyTransform): The transformOriginX().isPercent() tests
were added to support the weird "% values are relative to bounding box" in SVG. Now
it's up to the caller to pass a non-zero origin when that matters, and
SVGGraphicsElement::animatedLocalTransform() is the only caller that does so.
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::hasTransform):
(WebCore::RenderStyle::transformBox):
(WebCore::RenderStyle::setTransformBox):
(WebCore::RenderStyle::initialTransformBox):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleTransformData.cpp:
(WebCore::StyleTransformData::StyleTransformData):
(WebCore::StyleTransformData::operator==):
* rendering/style/StyleTransformData.h:
* svg/SVGGraphicsElement.cpp:
(WebCore::SVGGraphicsElement::animatedLocalTransform): Consult the transform-box
style to compute the reference box as the bounding box, or the view box.

Source/WebInspectorUI:

Add transform-box to the list of autocompletions.

* UserInterface/External/CodeMirror/css.js:

LayoutTests:

Modify tests that relied on the old "% values relative to the bounding box" behavior,
and new tests for parsing and rendering with transform-box.

* fast/css/transform-box-parsing.html: Added.
* svg/transforms/change-transform-origin-css.xhtml:
* svg/transforms/change-transform-origin-presentation-attribute.xhtml:
* svg/transforms/percent-transform-values.xhtml:
* svg/transforms/svg-transform-box-expected.html: Added.
* svg/transforms/svg-transform-box.html: Added.
* svg/transforms/transform-origin-css-property.xhtml:
* transforms/svg-vs-css.xhtml:

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

2 years agoAdd support for [LegacyWindowAlias] IDL extended attribute
cdumez@apple.com [Mon, 22 May 2017 19:14:14 +0000 (19:14 +0000)]
Add support for [LegacyWindowAlias] IDL extended attribute
https://bugs.webkit.org/show_bug.cgi?id=172451

Reviewed by Sam Weinig.

Add support for [LegacyWindowAlias] IDL extended attribute as per:
- https://heycam.github.io/webidl/#LegacyWindowAlias

Use it for our legacy window aliases, such as webKitURL.

No new tests, there should be no Web-exposed behavior change.

* bindings/scripts/IDLAttributes.json:
* bindings/scripts/preprocess-idls.pl:
(GenerateConstructorAttributes):
* css/DOMMatrix.idl:
* dom/MutationObserver.idl:
* dom/XMLDocument.idl:
* html/DOMURL.idl:
* page/DOMWindow.idl:

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

2 years agoASSERTION FAILED: m_boundThread == currentThread() in WTF::WeakReference<WebCore...
jer.noble@apple.com [Mon, 22 May 2017 19:02:11 +0000 (19:02 +0000)]
ASSERTION FAILED: m_boundThread == currentThread() in WTF::WeakReference<WebCore::WebCoreDecompressionSession>::clear()
https://bugs.webkit.org/show_bug.cgi?id=172457
<rdar://problem/32329436>

Reviewed by Eric Carlson.

Remove vestigal WeakPtrFactory that was entirely unused.

* platform/graphics/cocoa/WebCoreDecompressionSession.h:
(WebCore::WebCoreDecompressionSession::createWeakPtr): Deleted.
* platform/graphics/cocoa/WebCoreDecompressionSession.mm:
(WebCore::WebCoreDecompressionSession::WebCoreDecompressionSession):

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

2 years agoAdd a debugging macro that sleeps a thread until a debugger attaches
bburg@apple.com [Mon, 22 May 2017 18:49:02 +0000 (18:49 +0000)]
Add a debugging macro that sleeps a thread until a debugger attaches
https://bugs.webkit.org/show_bug.cgi?id=171575

Reviewed by Mark Lam.

This is really useful for debugging early errors if for some reason you can't
launch a process directly from the debugger easily, such as Web Content processes.

* WTF.xcodeproj/project.pbxproj:
* wtf/Assertions.h:
Always define the WTFBreakpointTrap() macro. Still make it an error if the CPU
type isn't supported for OS(DARWIN); if used on other platforms, cause a WTFCrash()
with a comment that indicates this is not implemented.

* wtf/DebugUtilities.h: Added.

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

2 years agoWeb Inspector: RTL: In Timelines > JavaScript & Events, digits for sample count are...
bburg@apple.com [Mon, 22 May 2017 18:38:57 +0000 (18:38 +0000)]
Web Inspector: RTL: In Timelines > JavaScript & Events, digits for sample count are not localized
https://bugs.webkit.org/show_bug.cgi?id=171819

Reviewed by Matt Baker.

* UserInterface/Views/ScriptTimelineDataGridNode.js:
(WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):

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

2 years agoFix the bug that sometimes analysis task results pane is missing.
dewei_zhu@apple.com [Mon, 22 May 2017 18:29:05 +0000 (18:29 +0000)]
Fix the bug that sometimes analysis task results pane is missing.
https://bugs.webkit.org/show_bug.cgi?id=172404

Reviewed by Ryosuke Niwa.

AnalysisTaskPage._didFetchTask and AnalaysisTaskPage._fetchRelatedInfoForTaskId should be called in order.
The race between those two functions causes the analysis task results pane sometimes missing.

* public/v3/components/analysis-results-viewer.js:
(AnalysisResultsViewer.prototype.render): Fix the bug in r217173 that commitSet can be undefined.
* public/v3/pages/analysis-task-page.js:
(AnalysisTaskPage.prototype.updateFromSerializedState): Use arrow function to get rid of self variable.
Use `const` instead of var for constant variable. And call _didFetchTask before calling _fetchRelatedInfoForTaskId.
(AnalysisTaskPage.prototype._renderTaskNameAndStatus):
(AnalysisTaskPage.cssTemplate):

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

2 years agoWeb Inspector: RTL: Text in autocomplete popover should be aligned left
bburg@apple.com [Mon, 22 May 2017 18:27:34 +0000 (18:27 +0000)]
Web Inspector: RTL: Text in autocomplete popover should be aligned left
https://bugs.webkit.org/show_bug.cgi?id=171998

Patch by Nikita Vasilyev <nvasilyev@apple.com> on 2017-05-22
Reviewed by Brian Burg.

Autocomplete popover is only used for CSS and JavaScript, and
these should always be shown as LTR text.

* UserInterface/Views/CompletionSuggestionsView.css:
(.completion-suggestions):

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

2 years ago-Wreturn-type warning triggered by WKPage.cpp:2277
mcatanzaro@igalia.com [Mon, 22 May 2017 18:17:06 +0000 (18:17 +0000)]
-Wreturn-type warning triggered by WKPage.cpp:2277
https://bugs.webkit.org/show_bug.cgi?id=171866

Reviewed by Žan Doberšek.

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):

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

2 years agoCrash in WebCore::StyleRuleKeyframes::findKeyframeIndex
antti@apple.com [Mon, 22 May 2017 18:16:18 +0000 (18:16 +0000)]
Crash in WebCore::StyleRuleKeyframes::findKeyframeIndex
https://bugs.webkit.org/show_bug.cgi?id=170756
<rdar://problem/31573157>

Reviewed by Andreas Kling.

Source/WebCore:

Using a malformed key with CSSKeyframesRule.findRule crashes because
CSSParser::parseKeyframeKeyList returns null which is then dereferenced.

* css/CSSKeyframesRule.cpp:
(WebCore::StyleRuleKeyframes::findKeyframeIndex): Null test.

LayoutTests:

Expand the tests to cover the malformed key case.

* animations/keyframes-rule.html:
* animations/unprefixed-keyframes-rule.html:

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

2 years ago-Wreturn-type warning triggered by WebAutomationSession.cpp:851
mcatanzaro@igalia.com [Mon, 22 May 2017 18:11:51 +0000 (18:11 +0000)]
-Wreturn-type warning triggered by WebAutomationSession.cpp:851
https://bugs.webkit.org/show_bug.cgi?id=171867

Reviewed by Žan Doberšek.

* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::protocolModifierToWebEventModifier):

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

2 years agoResync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
commit-queue@webkit.org [Mon, 22 May 2017 18:07:11 +0000 (18:07 +0000)]
Resync web-platform-tests up to 8df7c9c215678328212f232ce0b5270c505a8563
https://bugs.webkit.org/show_bug.cgi?id=172426

Patch by youenn fablet <youenn@apple.com> on 2017-05-22
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* resources/TestRepositories:
* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/FileAPI/BlobURL/support/file_test2.txt: Added.
* web-platform-tests/FileAPI/FileReader/support/file_test1.txt: Added.
* web-platform-tests/IndexedDB/idb_webworkers.htm:
* web-platform-tests/IndexedDB/idbcursor-advance-continue-async.htm:
* web-platform-tests/IndexedDB/idbcursor-advance-invalid.htm:
* web-platform-tests/IndexedDB/idbcursor-advance.htm:
* web-platform-tests/IndexedDB/idbcursor-continue.htm:
* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm:
* web-platform-tests/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm:
* web-platform-tests/IndexedDB/idbcursor-direction-index-keyrange.htm:
* web-platform-tests/IndexedDB/idbcursor-direction-index.htm:
* web-platform-tests/IndexedDB/idbcursor-direction-objectstore-keyrange.htm:
* web-platform-tests/IndexedDB/idbcursor-direction-objectstore.htm:
* web-platform-tests/IndexedDB/idbcursor-direction.htm:
* web-platform-tests/IndexedDB/idbcursor-source.htm:
* web-platform-tests/IndexedDB/idbcursor_iterating.htm:
* web-platform-tests/IndexedDB/idbcursor_iterating_objectstore.htm:
* web-platform-tests/IndexedDB/idbcursor_iterating_objectstore2.htm:
* web-platform-tests/IndexedDB/idbdatabase_close.htm:
* web-platform-tests/IndexedDB/idbfactory-deleteDatabase-request-success.html: Added.
* web-platform-tests/IndexedDB/idbfactory-open-request-error.html: Added.
* web-platform-tests/IndexedDB/idbfactory-open-request-success.html: Added.
* web-platform-tests/IndexedDB/idbfactory_open10.htm:
* web-platform-tests/IndexedDB/idbfactory_open11.htm:
* web-platform-tests/IndexedDB/idbfactory_open3.htm:
* web-platform-tests/IndexedDB/idbfactory_open6.htm:
* web-platform-tests/IndexedDB/idbfactory_open7.htm:
* web-platform-tests/IndexedDB/idbindex_getAll.html:
* web-platform-tests/IndexedDB/idbindex_getAllKeys.html:
* web-platform-tests/IndexedDB/idbobjectstore-index-finished.html: Added.
* web-platform-tests/IndexedDB/idbobjectstore_deleteIndex.htm:
* web-platform-tests/IndexedDB/idbobjectstore_getAll.html:
* web-platform-tests/IndexedDB/idbobjectstore_getAllKeys.html:
* web-platform-tests/IndexedDB/idbobjectstore_getKey.html:
* web-platform-tests/IndexedDB/idbobjectstore_openCursor_invalid.htm:
* web-platform-tests/IndexedDB/idbobjectstore_openKeyCursor.htm:
* web-platform-tests/IndexedDB/idbrequest-onupgradeneeded.htm:
* web-platform-tests/IndexedDB/idbtransaction-objectStore-finished.html: Added.
* web-platform-tests/IndexedDB/idbtransaction.htm:
* web-platform-tests/IndexedDB/idbtransaction_objectStoreNames.html:
* web-platform-tests/IndexedDB/request-abort-ordering.html: Added.
* web-platform-tests/IndexedDB/support.js:
(indexeddb_test):
* web-platform-tests/IndexedDB/w3c-import.log:
* web-platform-tests/README.md:
* web-platform-tests/WebCryptoAPI/derive_bits_keys/pbkdf2.js:
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_bits.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_ecdh_keys.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_hkdf.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_empty.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_long.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_empty_short.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_empty.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_long.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_long_short.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_empty.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_long.https.html: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2_short_short.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/test_pbkdf2.html.
* web-platform-tests/WebCryptoAPI/derive_bits_keys/w3c-import.log:
* web-platform-tests/WebCryptoAPI/digest/test_digest.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/digest/test_digest.html.
* web-platform-tests/WebCryptoAPI/digest/w3c-import.log:
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_cbc.html.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_ctr.html.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_aes_gcm.html.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/encrypt_decrypt/test_rsa_oaep.html.
* web-platform-tests/WebCryptoAPI/encrypt_decrypt/w3c-import.log:
* web-platform-tests/WebCryptoAPI/generateKey/successes.js:
(run_test):
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-cbc.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_aes-ctr.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CBC.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-CTR.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-GCM.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_AES-KW.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDH.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_ECDSA.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_HMAC.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-OAEP.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSA-PSS.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_failures_RSASSA-PKCS1-v1_5.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CBC.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-CTR.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-GCM.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_AES-KW.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDH.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_ECDSA.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_HMAC.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.html: Removed.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-OAEP.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSA-PSS.html.
* web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/test_successes_RSASSA-PKCS1-v1_5.html.
* web-platform-tests/WebCryptoAPI/generateKey/w3c-import.log:
* web-platform-tests/WebCryptoAPI/getRandomValues.any.html: Added.
* web-platform-tests/WebCryptoAPI/getRandomValues.any.js: Added.
(test):
(string_appeared_here.test):
* web-platform-tests/WebCryptoAPI/getRandomValues.any.worker.html: Added.
* web-platform-tests/WebCryptoAPI/idlharness.https.html: Added.
* web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_ec_importKey.html.
* web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_rsa_importKey.html.
* web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/import_export/test_symmetric_importKey.html.
* web-platform-tests/WebCryptoAPI/import_export/w3c-import.log:
* web-platform-tests/WebCryptoAPI/secure_context/crypto-subtle-non-secure-context-not-available.sub.html: Added.
* web-platform-tests/WebCryptoAPI/secure_context/crypto-subtle-secure-context-available.https.sub.html: Added.
* web-platform-tests/WebCryptoAPI/secure_context/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/util/w3c-import.log.
* web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_ecdsa.html.
* web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_hmac.html.
* web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pkcs.html.
* web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/sign_verify/test_rsa_pss.html.
* web-platform-tests/WebCryptoAPI/sign_verify/w3c-import.log:
* web-platform-tests/WebCryptoAPI/util/helpers.js:
(allNameVariants):
* web-platform-tests/WebCryptoAPI/util/w3c-import.log:
* web-platform-tests/WebCryptoAPI/util/worker-report-crypto-subtle-presence.js: Added.
* web-platform-tests/WebCryptoAPI/w3c-import.log:
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.html.
* web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/w3c-import.log:
* web-platform-tests/WebIDL/OWNERS: Added.
* web-platform-tests/WebIDL/ecmascript-binding/has-instance-expected.txt:
* web-platform-tests/WebIDL/ecmascript-binding/has-instance.html:
* web-platform-tests/WebIDL/ecmascript-binding/interface-prototype-object.html: Added.
* web-platform-tests/WebIDL/ecmascript-binding/legacy-callback-interface-object.html: Added.
* web-platform-tests/WebIDL/ecmascript-binding/put-forwards.html: Added.
* web-platform-tests/WebIDL/ecmascript-binding/sequence-conversion.html: Added.
* web-platform-tests/WebIDL/ecmascript-binding/w3c-import.log:
* web-platform-tests/WebIDL/w3c-import.log:
* web-platform-tests/XMLHttpRequest/formdata-foreach.html:
* web-platform-tests/XMLHttpRequest/getresponseheader-chunked-trailer.htm:
* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
* web-platform-tests/XMLHttpRequest/interfaces.html:
* web-platform-tests/XMLHttpRequest/open-url-redirected-worker-origin.htm:
* web-platform-tests/XMLHttpRequest/resources/base.xml: Added.
* web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties.htm:
* web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt:
* web-platform-tests/XMLHttpRequest/send-data-arraybufferview.htm: Added.
* web-platform-tests/XMLHttpRequest/w3c-import.log:
* web-platform-tests/beacon/headers/header-content-type.html: Added.
* web-platform-tests/beacon/headers/w3c-import.log:
* web-platform-tests/beacon/resources/content-type.py: Added.
(main):
* web-platform-tests/beacon/resources/w3c-import.log:
* web-platform-tests/check_stability.ini: Added.
* web-platform-tests/check_stability.py:
(Browser.prepare_environment):
(Firefox.__init__):
(Chrome.__init__):
(Chrome.prepare_environment):
(Sauce):
(Sauce.__init__):
(Sauce.install):
(Sauce.install_webdriver):
(Sauce.version):
(Sauce.wptrunner_args):
(install_wptrunner):
(get_files_changed):
(_in_repo_root):
(get_affected_testfiles):
(get_affected_testfiles.affected_by_wdspec):
(format_comment_title):
(markdown_adjust):
(table):
(get_parser):
(main):
* web-platform-tests/ci_unittest.sh: Added.
* web-platform-tests/common/object-association.js: Added.
(window.testIsPerWindow.propertyName.async_test.t.iframe.onload.t.step_func):
(window.testIsPerWindow.propertyName.async_test.t.iframe.onload.t.step_func_done):
* web-platform-tests/common/performance-timeline-utils.js: Added.
(wp_test):
(test_true):
(test_equals):
(test_entries):
* web-platform-tests/common/w3c-import.log:
* web-platform-tests/cors/access-control-expose-headers-parsing.window.js: Added.
(exposeTest):
* web-platform-tests/cors/preflight-failure.htm:
* web-platform-tests/cors/resources/access-control-expose-headers-parsing-2.asis: Added.
* web-platform-tests/cors/resources/access-control-expose-headers-parsing.asis: Added.
* web-platform-tests/cors/resources/w3c-import.log:
* web-platform-tests/cors/w3c-import.log:
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-001-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-001.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-002-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-002.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-003-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-003.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-004-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-004.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-005-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-005.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-006-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-006.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-007-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-007.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-008-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-008.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-009-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-009.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-010-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-010.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-011-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-011.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-012-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-012.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-013-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-013.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-014-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-014.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-015-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-015.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-016-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-016.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-017-expected.html: Added.
* web-platform-tests/css/css-grid-1/abspos/positioned-grid-items-017.html: Added.
* web-platform-tests/css/css-grid-1/abspos/w3c-import.log: Added.
* web-platform-tests/css/geometry-1/support/interfaces.js: Added.
(doTest):
(promise_test):
* web-platform-tests/css/geometry-1/support/w3c-import.log:
* web-platform-tests/cssom-view/cssom-view-window-screen-interface.html:
* web-platform-tests/cssom/MediaList-expected.txt:
* web-platform-tests/cssom/w3c-import.log:
* web-platform-tests/custom-elements/custom-element-registry/per-global.html: Added.
* web-platform-tests/custom-elements/custom-element-registry/w3c-import.log:
* web-platform-tests/custom-elements/microtasks-and-constructors.html: Added.
* web-platform-tests/custom-elements/w3c-import.log:
* web-platform-tests/dom/collections/HTMLCollection-as-proto-length-get-throws.html:
* web-platform-tests/dom/collections/HTMLCollection-empty-name.html:
* web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html:
* web-platform-tests/dom/collections/HTMLCollection-supported-property-names.html:
* web-platform-tests/dom/collections/domstringmap-supported-property-names.html:
* web-platform-tests/dom/collections/namednodemap-supported-property-names.html:
* web-platform-tests/dom/events/AddEventListenerOptions-once.html:
* web-platform-tests/dom/events/AddEventListenerOptions-passive.html:
* web-platform-tests/dom/events/CustomEvent.html:
* web-platform-tests/dom/events/Event-cancelBubble.html:
* web-platform-tests/dom/events/Event-constants.html:
* web-platform-tests/dom/events/Event-constructors.html:
* web-platform-tests/dom/events/Event-defaultPrevented-after-dispatch.html:
* web-platform-tests/dom/events/Event-defaultPrevented.html:
* web-platform-tests/dom/events/Event-dispatch-bubble-canceled.html:
* web-platform-tests/dom/events/Event-dispatch-bubbles-false.html:
* web-platform-tests/dom/events/Event-dispatch-bubbles-true.html:
* web-platform-tests/dom/events/Event-dispatch-click.html:
* web-platform-tests/dom/events/Event-dispatch-detached-click.html:
* web-platform-tests/dom/events/Event-dispatch-handlers-changed.html:
* web-platform-tests/dom/events/Event-dispatch-multiple-cancelBubble.html:
* web-platform-tests/dom/events/Event-dispatch-multiple-stopPropagation.html:
* web-platform-tests/dom/events/Event-dispatch-omitted-capture.html:
* web-platform-tests/dom/events/Event-dispatch-order.html:
* web-platform-tests/dom/events/Event-dispatch-other-document.html:
* web-platform-tests/dom/events/Event-dispatch-propagation-stopped.html:
* web-platform-tests/dom/events/Event-dispatch-redispatch.html:
* web-platform-tests/dom/events/Event-dispatch-reenter.html:
* web-platform-tests/dom/events/Event-dispatch-target-moved.html:
* web-platform-tests/dom/events/Event-dispatch-target-removed.html:
* web-platform-tests/dom/events/Event-dispatch-throwing.html:
* web-platform-tests/dom/events/Event-init-while-dispatching.html:
* web-platform-tests/dom/events/Event-initEvent.html:
* web-platform-tests/dom/events/Event-propagation.html:
* web-platform-tests/dom/events/Event-subclasses-constructors.html:
* web-platform-tests/dom/events/Event-type-empty.html:
* web-platform-tests/dom/events/Event-type.html:
* web-platform-tests/dom/events/EventListener-handleEvent.html:
* web-platform-tests/dom/events/EventListener-incumbent-global-1.sub.html:
* web-platform-tests/dom/events/EventListener-incumbent-global-2.sub.html:
* web-platform-tests/dom/events/EventListener-invoke-legacy.html:
* web-platform-tests/dom/events/EventListenerOptions-capture.html:
* web-platform-tests/dom/events/EventTarget-addEventListener.html:
* web-platform-tests/dom/events/EventTarget-dispatchEvent-returnvalue.html:
* web-platform-tests/dom/events/EventTarget-dispatchEvent.html:
* web-platform-tests/dom/events/EventTarget-removeEventListener.html:
* web-platform-tests/dom/historical.html:
* web-platform-tests/dom/interface-objects.html:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/dom/interfaces.html:
* web-platform-tests/dom/lists/DOMTokenList-Iterable.html:
* web-platform-tests/dom/lists/DOMTokenList-coverage-for-attributes.html:
* web-platform-tests/dom/lists/DOMTokenList-iteration.html:
* web-platform-tests/dom/lists/DOMTokenList-stringifier.html:
* web-platform-tests/dom/lists/DOMTokenList-value.html:
* web-platform-tests/dom/nodes/CharacterData-appendChild.html:
* web-platform-tests/dom/nodes/CharacterData-appendData.html:
* web-platform-tests/dom/nodes/CharacterData-data.html:
* web-platform-tests/dom/nodes/CharacterData-deleteData.html:
* web-platform-tests/dom/nodes/CharacterData-insertData.html:
* web-platform-tests/dom/nodes/CharacterData-remove.html:
* web-platform-tests/dom/nodes/CharacterData-replaceData.html:
* web-platform-tests/dom/nodes/CharacterData-substringData.html:
* web-platform-tests/dom/nodes/CharacterData-surrogates.html:
* web-platform-tests/dom/nodes/ChildNode-after.html:
* web-platform-tests/dom/nodes/ChildNode-before.html:
* web-platform-tests/dom/nodes/ChildNode-replaceWith.html:
* web-platform-tests/dom/nodes/Comment-constructor.html:
* web-platform-tests/dom/nodes/DOMImplementation-createDocument.html:
* web-platform-tests/dom/nodes/DOMImplementation-createDocumentType.html:
* web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument.html:
* web-platform-tests/dom/nodes/DOMImplementation-hasFeature.html:
* web-platform-tests/dom/nodes/Document-URL.sub.html:
* web-platform-tests/dom/nodes/Document-adoptNode.html:
* web-platform-tests/dom/nodes/Document-characterSet-normalization.html:
* web-platform-tests/dom/nodes/Document-constructor.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_bmp.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_css.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_gif.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_html.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_javascripturi.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_jpg.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_01.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_mimeheader_02.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_png.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_txt.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_xml.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/createDocument.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/createHTMLDocument.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/xhr_responseType_document.html:
* web-platform-tests/dom/nodes/Document-createAttribute.html:
* web-platform-tests/dom/nodes/Document-createComment.html:
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/w3c-import.log:
* web-platform-tests/dom/nodes/Document-createElement-namespace.html:
* web-platform-tests/dom/nodes/Document-createElement.html:
* web-platform-tests/dom/nodes/Document-createElementNS.html:
* web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
* web-platform-tests/dom/nodes/Document-createEvent.html:
* web-platform-tests/dom/nodes/Document-createProcessingInstruction-xhtml.xhtml:
* web-platform-tests/dom/nodes/Document-createProcessingInstruction.html:
* web-platform-tests/dom/nodes/Document-createTextNode.html:
* web-platform-tests/dom/nodes/Document-createTreeWalker.html:
* web-platform-tests/dom/nodes/Document-doctype.html:
* web-platform-tests/dom/nodes/Document-getElementById.html:
* web-platform-tests/dom/nodes/Document-getElementsByTagName-xhtml.xhtml:
* web-platform-tests/dom/nodes/Document-getElementsByTagName.html:
* web-platform-tests/dom/nodes/Document-getElementsByTagNameNS.html:
* web-platform-tests/dom/nodes/Document-implementation.html:
* web-platform-tests/dom/nodes/Document-importNode.html:
* web-platform-tests/dom/nodes/DocumentType-literal-xhtml.xhtml:
* web-platform-tests/dom/nodes/DocumentType-literal.html:
* web-platform-tests/dom/nodes/DocumentType-remove.html:
* web-platform-tests/dom/nodes/Element-childElement-null-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-childElement-null.html:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add.html:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove.html:
* web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-childElementCount-nochild.html:
* web-platform-tests/dom/nodes/Element-childElementCount-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-childElementCount.html:
* web-platform-tests/dom/nodes/Element-children.html:
* web-platform-tests/dom/nodes/Element-classlist-expected.txt:
* web-platform-tests/dom/nodes/Element-classlist.html:
* web-platform-tests/dom/nodes/Element-closest.html:
* web-platform-tests/dom/nodes/Element-firstElementChild-entity-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-firstElementChild-namespace-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-firstElementChild-namespace.html:
* web-platform-tests/dom/nodes/Element-firstElementChild-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-firstElementChild.html:
* web-platform-tests/dom/nodes/Element-getElementsByClassName.html:
* web-platform-tests/dom/nodes/Element-getElementsByTagName-change-document-HTMLNess.html:
* web-platform-tests/dom/nodes/Element-getElementsByTagName.html:
* web-platform-tests/dom/nodes/Element-getElementsByTagNameNS.html:
* web-platform-tests/dom/nodes/Element-hasAttributes.html:
* web-platform-tests/dom/nodes/Element-insertAdjacentElement.html:
* web-platform-tests/dom/nodes/Element-insertAdjacentText.html:
* web-platform-tests/dom/nodes/Element-lastElementChild-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-lastElementChild.html:
* web-platform-tests/dom/nodes/Element-matches-expected.txt:
* web-platform-tests/dom/nodes/Element-matches.html:
* web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-nextElementSibling.html:
* web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-previousElementSibling.html:
* web-platform-tests/dom/nodes/Element-remove.html:
* web-platform-tests/dom/nodes/Element-removeAttributeNS.html:
* web-platform-tests/dom/nodes/Element-siblingElement-null-xhtml.xhtml:
* web-platform-tests/dom/nodes/Element-siblingElement-null.html:
* web-platform-tests/dom/nodes/Element-tagName.html:
* web-platform-tests/dom/nodes/Element-webkitMatchesSelector-expected.txt:
* web-platform-tests/dom/nodes/Element-webkitMatchesSelector.html:
* web-platform-tests/dom/nodes/MutationObserver-attributes.html:
* web-platform-tests/dom/nodes/MutationObserver-characterData.html:
* web-platform-tests/dom/nodes/MutationObserver-childList.html:
* web-platform-tests/dom/nodes/MutationObserver-disconnect.html:
* web-platform-tests/dom/nodes/MutationObserver-document.html:
* web-platform-tests/dom/nodes/MutationObserver-inner-outer.html:
* web-platform-tests/dom/nodes/MutationObserver-takeRecords.html:
* web-platform-tests/dom/nodes/Node-appendChild.html:
* web-platform-tests/dom/nodes/Node-baseURI.html:
* web-platform-tests/dom/nodes/Node-childNodes.html:
* web-platform-tests/dom/nodes/Node-cloneNode.html:
* web-platform-tests/dom/nodes/Node-compareDocumentPosition.html:
* web-platform-tests/dom/nodes/Node-constants.html:
* web-platform-tests/dom/nodes/Node-contains-xml.xml:
* web-platform-tests/dom/nodes/Node-contains.html:
* web-platform-tests/dom/nodes/Node-insertBefore.html:
* web-platform-tests/dom/nodes/Node-isConnected.html:
* web-platform-tests/dom/nodes/Node-isEqualNode-xhtml.xhtml:
* web-platform-tests/dom/nodes/Node-isEqualNode.html:
* web-platform-tests/dom/nodes/Node-isSameNode.html:
* web-platform-tests/dom/nodes/Node-lookupNamespaceURI.html:
* web-platform-tests/dom/nodes/Node-lookupPrefix.xhtml:
* web-platform-tests/dom/nodes/Node-nodeName-xhtml.xhtml:
* web-platform-tests/dom/nodes/Node-nodeName.html:
* web-platform-tests/dom/nodes/Node-nodeValue.html:
* web-platform-tests/dom/nodes/Node-normalize.html:
* web-platform-tests/dom/nodes/Node-parentElement.html:
* web-platform-tests/dom/nodes/Node-parentNode.html:
* web-platform-tests/dom/nodes/Node-properties.html:
* web-platform-tests/dom/nodes/Node-removeChild.html:
* web-platform-tests/dom/nodes/Node-replaceChild.html:
* web-platform-tests/dom/nodes/Node-textContent.html:
* web-platform-tests/dom/nodes/NodeList-Iterable.html:
* web-platform-tests/dom/nodes/ParentNode-append.html:
* web-platform-tests/dom/nodes/ParentNode-prepend.html:
* web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
* web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt:
* web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht.xht:
* web-platform-tests/dom/nodes/ParentNode-querySelector-All.html:
* web-platform-tests/dom/nodes/ProcessingInstruction-escapes-1.xhtml:
* web-platform-tests/dom/nodes/ProcessingInstruction-literal-1.xhtml:
* web-platform-tests/dom/nodes/ProcessingInstruction-literal-2.xhtml:
* web-platform-tests/dom/nodes/Text-constructor.html:
* web-platform-tests/dom/nodes/Text-splitText.html:
* web-platform-tests/dom/nodes/append-on-Document.html:
* web-platform-tests/dom/nodes/attributes.html:
* web-platform-tests/dom/nodes/case.html:
* web-platform-tests/dom/nodes/getElementsByClassName-01.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-02.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-03.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-04.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-05.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-06.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-07.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-08.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-09.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-10.xml:
* web-platform-tests/dom/nodes/getElementsByClassName-11.xml:
* web-platform-tests/dom/nodes/getElementsByClassName-12.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-13.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-14.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-15.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-16.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-17.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-18.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-19.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-20.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-21.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-22.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-23.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-24.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-25.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-26.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-27.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-28.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-29.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-30.htm:
* web-platform-tests/dom/nodes/getElementsByClassName-31.htm:
* web-platform-tests/dom/nodes/insert-adjacent.html:
* web-platform-tests/dom/nodes/mutationobservers.js:
* web-platform-tests/dom/nodes/prepend-on-Document.html:
* web-platform-tests/dom/nodes/remove-unscopable.html:
* web-platform-tests/dom/nodes/rootNode.html:
* web-platform-tests/dom/nodes/selectors.js:
* web-platform-tests/dom/nodes/w3c-import.log:
* web-platform-tests/dom/ranges/Range-attributes.html:
* web-platform-tests/dom/ranges/Range-cloneContents.html:
* web-platform-tests/dom/ranges/Range-cloneRange.html:
* web-platform-tests/dom/ranges/Range-collapse.html:
* web-platform-tests/dom/ranges/Range-commonAncestorContainer-2.html:
* web-platform-tests/dom/ranges/Range-commonAncestorContainer.html:
* web-platform-tests/dom/ranges/Range-compareBoundaryPoints.html:
* web-platform-tests/dom/ranges/Range-comparePoint-2.html:
* web-platform-tests/dom/ranges/Range-comparePoint.html:
* web-platform-tests/dom/ranges/Range-constructor.html:
* web-platform-tests/dom/ranges/Range-deleteContents.html:
* web-platform-tests/dom/ranges/Range-detach.html:
* web-platform-tests/dom/ranges/Range-extractContents.html:
* web-platform-tests/dom/ranges/Range-insertNode.html:
* web-platform-tests/dom/ranges/Range-intersectsNode-binding.html:
* web-platform-tests/dom/ranges/Range-intersectsNode.html:
* web-platform-tests/dom/ranges/Range-isPointInRange.html:
* web-platform-tests/dom/ranges/Range-mutations-appendChild.html:
* web-platform-tests/dom/ranges/Range-mutations-appendData.html:
* web-platform-tests/dom/ranges/Range-mutations-dataChange.html:
* web-platform-tests/dom/ranges/Range-mutations-deleteData.html:
* web-platform-tests/dom/ranges/Range-mutations-insertBefore.html:
* web-platform-tests/dom/ranges/Range-mutations-insertData.html:
* web-platform-tests/dom/ranges/Range-mutations-removeChild.html:
* web-platform-tests/dom/ranges/Range-mutations-replaceChild.html:
* web-platform-tests/dom/ranges/Range-mutations-replaceData.html:
* web-platform-tests/dom/ranges/Range-mutations-splitText.html:
* web-platform-tests/dom/ranges/Range-selectNode.html:
* web-platform-tests/dom/ranges/Range-set.html:
* web-platform-tests/dom/ranges/Range-stringifier.html:
* web-platform-tests/dom/ranges/Range-surroundContents.html:
* web-platform-tests/dom/traversal/NodeFilter-constants.html:
* web-platform-tests/dom/traversal/NodeIterator-removal.html:
* web-platform-tests/dom/traversal/NodeIterator.html:
* web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html:
* web-platform-tests/dom/traversal/TreeWalker-basic.html:
* web-platform-tests/dom/traversal/TreeWalker-currentNode.html:
* web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html:
* web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html:
* web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html:
* web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html:
* web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html:
* web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html:
* web-platform-tests/dom/traversal/TreeWalker.html:
* web-platform-tests/domparsing/DOMParser-parseFromString-xml-internal-subset.html: Added.
* web-platform-tests/domparsing/w3c-import.log:
* web-platform-tests/encrypted-media/resources/drm-retrieve-persistent-license.html:
* web-platform-tests/encrypted-media/scripts/playback-persistent-license-events.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-retrieve-persistent-license.js:
(runTest):
* web-platform-tests/fetch/api/basic/block-mime-as-script.html: Added.
* web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
* web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:
* web-platform-tests/fetch/api/basic/w3c-import.log:
* web-platform-tests/fetch/api/headers/header-values-normalize-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-location.js:
(redirectLocation):
* web-platform-tests/fetch/api/request/request-consume-empty-expected.txt:
* web-platform-tests/fetch/api/request/request-consume-empty.html:
* web-platform-tests/fetch/api/request/request-error-expected.txt:
* web-platform-tests/fetch/api/request/request-error.html:
* web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt:
* web-platform-tests/fetch/api/request/request-init-001.sub.html:
* web-platform-tests/fetch/api/resources/script-with-header.py: Added.
(main):
* web-platform-tests/fetch/api/resources/w3c-import.log:
* web-platform-tests/fetch/api/response/response-consume-empty-expected.txt:
* web-platform-tests/fetch/api/response/response-consume-empty.html:
* web-platform-tests/fonts/CanvasTest.sfd: Removed.
* web-platform-tests/fonts/w3c-import.log:
* web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin.html:
* web-platform-tests/html/browsers/history/the-location-interface/per-global.window.js: Added.
* web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
* web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter.html: Added.
* web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_iframe.html: Added.
* web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/w3c-import.log:
* web-platform-tests/html/browsers/the-window-object/historical.window.js: Added.
(test):
* web-platform-tests/html/browsers/the-window-object/security-window/window-security-expected.txt:
* web-platform-tests/html/browsers/the-window-object/security-window/window-security.html:
* web-platform-tests/html/browsers/the-window-object/w3c-import.log:
* web-platform-tests/html/browsers/the-window-object/window-properties-expected.txt:
* web-platform-tests/html/browsers/the-window-object/window-properties.html:
* web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt:
* web-platform-tests/html/browsers/windows/noreferrer-window-name.html:
* web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-07.html: Added.
* web-platform-tests/html/dom/documents/dom-tree-accessors/nameditem-08.html: Added.
* web-platform-tests/html/dom/documents/dom-tree-accessors/w3c-import.log:
* web-platform-tests/html/dom/elements-metadata.js:
* web-platform-tests/html/dom/interfaces.html:
* web-platform-tests/html/dom/reflection-metadata-expected.txt:
* web-platform-tests/html/dom/resources/interfaces.idl: Removed.
* web-platform-tests/html/dom/resources/untested-interfaces.idl: Removed.
* web-platform-tests/html/dom/resources/w3c-import.log:
* web-platform-tests/html/dom/self-origin.sub.html:
* web-platform-tests/html/semantics/document-metadata/the-link-element/resources/bad.css: Added.
(p):
* web-platform-tests/html/semantics/document-metadata/the-link-element/resources/good.css: Added.
(p):
* web-platform-tests/html/semantics/document-metadata/the-link-element/resources/w3c-import.log:
* web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href-expected.html: Added.
* web-platform-tests/html/semantics/document-metadata/the-link-element/stylesheet-change-href.html: Added.
* web-platform-tests/html/semantics/document-metadata/the-link-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/imagedata.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_harness.js:
(get_test_results.):
(get_test_results):
* web-platform-tests/html/semantics/embedded-content/the-img-element/delay-load-event.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/document-adopt-base-url-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/document-adopt-base-url.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/form-control-infrastructure/form_attribute.html: Added.
* web-platform-tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table.html: Added.
* web-platform-tests/html/semantics/forms/form-control-infrastructure/form_owner_and_table_2.html: Added.
* web-platform-tests/html/semantics/forms/form-control-infrastructure/w3c-import.log:
* web-platform-tests/html/semantics/forms/resetting-a-form/reset-form-2.html: Added.
* web-platform-tests/html/semantics/forms/resetting-a-form/w3c-import.log:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-after-content-change.html:
* web-platform-tests/html/semantics/forms/the-button-element/button-click-submits.html: Added.
* web-platform-tests/html/semantics/forms/the-button-element/button-type.html: Added.
* web-platform-tests/html/semantics/forms/the-button-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-form-element/form-action-reflection-with-base-url.html: Added.
* web-platform-tests/html/semantics/forms/the-form-element/form-action-reflection.html: Added.
* web-platform-tests/html/semantics/forms/the-form-element/form-action-submission-with-base-url.html: Added.
* web-platform-tests/html/semantics/forms/the-form-element/form-action-submission.html: Added.
* web-platform-tests/html/semantics/forms/the-form-element/form-action-url-expected.txt: Removed.
* web-platform-tests/html/semantics/forms/the-form-element/form-action-url.html: Removed.
* web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete-expected.txt:
* web-platform-tests/html/semantics/forms/the-form-element/form-autocomplete.html:
* web-platform-tests/html/semantics/forms/the-form-element/resources/form-action-url-iframe.html: Removed.
* web-platform-tests/html/semantics/forms/the-form-element/resources/form-no-action-with-base.html: Added.
* web-platform-tests/html/semantics/forms/the-form-element/resources/form-no-action.html: Added.
* web-platform-tests/html/semantics/forms/the-form-element/resources/form-with-action-and-base.sub.html: Added.
* web-platform-tests/html/semantics/forms/the-form-element/resources/form-with-action.sub.html: Added.
* web-platform-tests/html/semantics/forms/the-form-element/resources/target/form-action-url-target.html:
* web-platform-tests/html/semantics/forms/the-form-element/resources/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-form-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-input-element/checkbox-click-events.html: Added.
* web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/radio-input-cancel.html: Added.
* web-platform-tests/html/semantics/forms/the-input-element/radio.html:
* web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-label-element/proxy-click-to-associated-element.html: Added.
* web-platform-tests/html/semantics/forms/the-label-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-select-element/select-multiple.html: Added.
* web-platform-tests/html/semantics/forms/the-select-element/select-selectedOptions.html: Added.
* web-platform-tests/html/semantics/forms/the-select-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-textarea-element/value-defaultValue-textContent.html: Added.
* web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log:
* web-platform-tests/html/semantics/interactive-elements/the-menu-element/menuitem-label.html: Added.
* web-platform-tests/html/semantics/interactive-elements/the-menu-element/w3c-import.log:
* web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html:
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.rel-getter-01.html: Added.
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.rel-setter-01.html: Added.
* web-platform-tests/html/semantics/text-level-semantics/the-a-element/w3c-import.log:
* web-platform-tests/html/syntax/serializing-html-fragments/serializing-expected.txt:
* web-platform-tests/html/syntax/serializing-html-fragments/serializing.html:
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/w3c-import.log:
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-1.htm: Added.
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-10.htm: Added.
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-2.htm: Added.
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-3.htm: Added.
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-4.htm: Added.
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-5.htm: Added.
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-6.htm: Added.
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-7.htm: Added.
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-8.htm: Added.
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-9.htm: Added.
* web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm:
* web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-dedicatedworker.html: Added.
* web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-serviceworker.https.html: Added.
* web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-sharedworker.html: Added.
* web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/canblock-window.html: Added.
* web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/w3c-import.log: Added.
* web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/worker-that-requires-failure.js: Added.
(test):
* web-platform-tests/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-agent-formalism/worker-that-requires-success.js: Added.
(test):
* web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.html: Removed.
* web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.worker.js: Removed.
* web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator.any.html: Added.
* web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator.any.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js.
(async_test):
* web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator.any.worker.html: Added.
* web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/w3c-import.log:
* web-platform-tests/images/apng.png: Added.
* web-platform-tests/images/w3c-import.log:
* web-platform-tests/lint:
* web-platform-tests/lint.whitelist:
* web-platform-tests/media/CanvasTest.ttf: Removed.
* web-platform-tests/media/OWNERS:
* web-platform-tests/media/w3c-import.log:
* web-platform-tests/notifications/shownotification-resolve-manual.https.html: Added.
* web-platform-tests/notifications/w3c-import.log:
* web-platform-tests/resource-timing/resource-timing.js:
(assertResourceEntryInvariants):
* web-platform-tests/resource-timing/resource_TAO_match_origin.htm: Added.
* web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm: Added.
* web-platform-tests/resource-timing/resource_TAO_multi.htm: Added.
* web-platform-tests/resource-timing/resource_TAO_null.htm: Added.
* web-platform-tests/resource-timing/resource_TAO_origin.htm: Added.
* web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm: Added.
* web-platform-tests/resource-timing/resource_TAO_space.htm: Added.
* web-platform-tests/resource-timing/resource_TAO_wildcard.htm: Added.
* web-platform-tests/resource-timing/resource_TAO_zero.htm: Added.
* web-platform-tests/resource-timing/resources/TAOResponse.py: Added.
(main):
* web-platform-tests/resource-timing/resources/iframe_TAO_match_origin.html: Added.
* web-platform-tests/resource-timing/resources/iframe_TAO_match_wildcard.html: Added.
* web-platform-tests/resource-timing/resources/iframe_TAO_multi.html: Added.
* web-platform-tests/resource-timing/resources/iframe_TAO_null.html: Added.
* web-platform-tests/resource-timing/resources/iframe_TAO_origin.html: Added.
* web-platform-tests/resource-timing/resources/iframe_TAO_origin_uppercase.html: Added.
* web-platform-tests/resource-timing/resources/iframe_TAO_space.html: Added.
* web-platform-tests/resource-timing/resources/iframe_TAO_wildcard.html: Added.
* web-platform-tests/resource-timing/resources/iframe_TAO_zero.html: Added.
* web-platform-tests/resource-timing/resources/w3c-import.log:
* web-platform-tests/resource-timing/w3c-import.log:
* web-platform-tests/resources/examples/apisample18.html: Added.
* web-platform-tests/resources/examples/apisample19.html: Added.
* web-platform-tests/resources/examples/w3c-import.log:
* web-platform-tests/resources/idlharness.js:
(IdlArray.prototype.assert_type_is):
(IdlInterface.prototype.test_self):
* web-platform-tests/resources/readme.md:
* web-platform-tests/resources/w3c-import.log:
* web-platform-tests/resources/webidl2/lib/w3c-import.log:
* web-platform-tests/resources/webidl2/test/invalid/idl/record-key.widl: Added.
* web-platform-tests/resources/webidl2/test/invalid/idl/w3c-import.log:
* web-platform-tests/resources/webidl2/test/invalid/json/record-key.json: Added.
* web-platform-tests/resources/webidl2/test/invalid/json/w3c-import.log:
* web-platform-tests/resources/webidl2/test/syntax/idl/map.widl: Removed.
* web-platform-tests/resources/webidl2/test/syntax/idl/namespace.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/record.widl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/typedef-nested.widl: Removed.
* web-platform-tests/resources/webidl2/test/syntax/idl/typedef-union.idl: Added.
* web-platform-tests/resources/webidl2/test/syntax/idl/w3c-import.log:
* web-platform-tests/resources/webidl2/test/syntax/json/map.json: Removed.
* web-platform-tests/resources/webidl2/test/syntax/json/namespace.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/record.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/typedef-nested.json: Removed.
* web-platform-tests/resources/webidl2/test/syntax/json/typedef-union.json: Added.
* web-platform-tests/resources/webidl2/test/syntax/json/w3c-import.log:
* web-platform-tests/resources/webidl2/test/syntax/opt/w3c-import.log:
* web-platform-tests/resources/webidl2/test/w3c-import.log:
* web-platform-tests/resources/webidl2/test/web/w3c-import.log:
* web-platform-tests/resources/webidl2/w3c-import.log:
* web-platform-tests/shadow-dom/slots-fallback-in-document.html: Added.
* web-platform-tests/shadow-dom/w3c-import.log:
* web-platform-tests/streams/piping/close-propagation-forward-expected.txt:
* web-platform-tests/streams/piping/flow-control-expected.txt:
* web-platform-tests/streams/piping/flow-control.js:
(StepTracker):
(StepTracker.prototype.waitThenAdvance):
(promise_test):
* web-platform-tests/streams/piping/general-expected.txt:
* web-platform-tests/streams/piping/pipe-through-expected.txt:
* web-platform-tests/streams/piping/pipe-through.dedicatedworker-expected.txt:
* web-platform-tests/streams/piping/pipe-through.js:
(test):
* web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:
* web-platform-tests/streams/readable-byte-streams/general.js:
(promise_test):
* web-platform-tests/streams/readable-streams/floating-point-total-queue-size.dedicatedworker-expected.txt:
* web-platform-tests/streams/readable-streams/floating-point-total-queue-size.js:
* web-platform-tests/streams/resources/recording-streams.js:
(self.recordingWritableStream):
* web-platform-tests/tools/html5lib/html5lib/serializer/w3c-import.log:
* web-platform-tests/tools/html5lib/html5lib/treebuilders/w3c-import.log:
* web-platform-tests/tools/html5lib/html5lib/treewalkers/w3c-import.log:
* web-platform-tests/tools/html5lib/html5lib/trie/w3c-import.log:
* web-platform-tests/tools/html5lib/html5lib/w3c-import.log:
* web-platform-tests/tools/manifest/w3c-import.log:
* web-platform-tests/tools/pytest/.github/w3c-import.log:
* web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/handshake/w3c-import.log:
* web-platform-tests/tools/pywebsocket/src/mod_pywebsocket/w3c-import.log:
* web-platform-tests/tools/serve/w3c-import.log:
* web-platform-tests/tools/six/w3c-import.log:
* web-platform-tests/tools/sslutils/w3c-import.log:
* web-platform-tests/tools/w3c-import.log:
* web-platform-tests/tools/webdriver/webdriver/client.py:
(ActionSequence.pause):
(ActionSequence.pointer_up):
(ActionSequence.pointer_down):
(ActionSequence.click):
* web-platform-tests/tools/webdriver/webdriver/transport.py:
(Response.from_http_response):
* web-platform-tests/tools/wptrunner/requirements_firefox.txt:
* web-platform-tests/tools/wptrunner/wptrunner/browsers/base.py:
(Browser.settings):
(Browser.start):
(NullBrowser.start):
* web-platform-tests/tools/wptrunner/wptrunner/browsers/chrome.py:
(browser_kwargs):
(ChromeBrowser.start):
* web-platform-tests/tools/wptrunner/wptrunner/browsers/edge.py:
(EdgeBrowser.start):
* web-platform-tests/tools/wptrunner/wptrunner/browsers/firefox.py:
(get_timeout_multiplier):
(browser_kwargs):
(executor_kwargs):
(FirefoxBrowser.__init__):
(FirefoxBrowser):
(FirefoxBrowser.settings):
(FirefoxBrowser.start):
(FirefoxBrowser.stop):
(FirefoxBrowser.process_leaks):
(FirefoxBrowser.cleanup):
* web-platform-tests/tools/wptrunner/wptrunner/browsers/sauce.py:
(browser_kwargs):
* web-platform-tests/tools/wptrunner/wptrunner/browsers/servo.py:
(browser_kwargs):
* web-platform-tests/tools/wptrunner/wptrunner/browsers/servodriver.py:
(browser_kwargs):
(ServoWebDriverBrowser.start):
* web-platform-tests/tools/wptrunner/wptrunner/executors/executormarionette.py:
(MarionetteProtocol.__init__):
(MarionetteProtocol.setup):
(MarionetteTestharnessExecutor.__init__):
* web-platform-tests/tools/wptrunner/wptrunner/manifestexpected.py:
(ExpectedManifest.leaks):
(ExpectedManifest):
(DirectoryManifest.leaks):
(DirectoryManifest):
(TestNode.leaks):
(TestNode):
* web-platform-tests/tools/wptrunner/wptrunner/testloader.py:
(EqualTimeChunker._group_by_directory):
(PathGroupedSource.get_queue):
* web-platform-tests/tools/wptrunner/wptrunner/testrunner.py:
(BrowserManager.__init__):
(BrowserManager.update_settings):
(BrowserManager.init):
(TestRunnerManager.init):
(TestRunnerManager.get_next_test):
(TestRunnerManager.run_test):
* web-platform-tests/tools/wptrunner/wptrunner/tests/test_chunker.py:
(MockTest):
* web-platform-tests/tools/wptrunner/wptrunner/update/sync.py:
(copy_wpt_tree):
(add_license):
(CopyWorkTree.create):
* web-platform-tests/tools/wptrunner/wptrunner/update/tree.py:
(GitTree.paths):
* web-platform-tests/tools/wptrunner/wptrunner/update/update.py:
(SyncFromUpstream.create):
* web-platform-tests/tools/wptrunner/wptrunner/wptcommandline.py:
(create_parser_update):
* web-platform-tests/tools/wptrunner/wptrunner/wptrunner.py:
(run_tests):
* web-platform-tests/tools/wptrunner/wptrunner/wpttest.py:
(Test):
(Test.__init__):
(Test.from_manifest):
(Test.leaks):
(ReftestTest.__init__):
(ReftestTest.from_manifest):
(WdspecTest):
* web-platform-tests/tools/wptserve/wptserve/w3c-import.log:
* web-platform-tests/user-timing/measure.html:
* web-platform-tests/user-timing/measure_navigation_timing.html:
* web-platform-tests/user-timing/resources/webperftestharness.js:
* web-platform-tests/user-timing/test_user_timing_clear_marks-expected.txt:
* web-platform-tests/user-timing/test_user_timing_clear_measures-expected.txt:
* web-platform-tests/user-timing/test_user_timing_entry_type-expected.txt:
* web-platform-tests/user-timing/test_user_timing_exists-expected.txt:
* web-platform-tests/user-timing/test_user_timing_mark-expected.txt:
* web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_with_timing_attributes-expected.txt:
* web-platform-tests/user-timing/test_user_timing_mark_and_measure_exception_when_invoke_without_parameter-expected.txt:
* web-platform-tests/user-timing/test_user_timing_mark_exceptions-expected.txt:
* web-platform-tests/user-timing/test_user_timing_mark_with_name_of_navigation_timing_optional_attribute-expected.txt:
* web-platform-tests/user-timing/test_user_timing_measure-expected.txt:
* web-platform-tests/user-timing/test_user_timing_measure_exceptions-expected.txt:
* web-platform-tests/user-timing/test_user_timing_measure_navigation_timing-expected.txt:
* web-platform-tests/w3c-import.log:
* web-platform-tests/webrtc/OWNERS:
* web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize-expected.txt:
* web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html:
* web-platform-tests/webrtc/RTCIceCandidate-constructor.html: Added.
* web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate.html: Added.
* web-platform-tests/webrtc/getstats-expected.txt:
* web-platform-tests/webrtc/getstats.html:
* web-platform-tests/webrtc/w3c-import.log:
* web-platform-tests/wptrun: Added.

Tools:

* Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.remove_deleted_files): Outputting warning when trying to delete a file that no longer exists.

LayoutTests:

* TestExpectations:
* tests-options.json:

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

2 years agoRemove unused documentIsHandlingNonDefaultDrag plumbing for WebKit2
wenson_hsieh@apple.com [Mon, 22 May 2017 18:02:33 +0000 (18:02 +0000)]
Remove unused documentIsHandlingNonDefaultDrag plumbing for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=172453

Reviewed by Tim Horton.

Source/WebCore:

Removes unused plumbing that was originally added to support file uploads. No new tests, since there is no
change in behavior.

* page/DragController.h:
(WebCore::DragController::documentIsHandlingNonDefaultDrag): Deleted.

Source/WebKit2:

Removes unused plumbing that was originally added to support file uploads.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didPerformDragControllerAction):
(WebKit::WebPageProxy::resetCurrentDragInformation):
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::currentDragCaretRect):
(WebKit::WebPageProxy::documentIsHandlingNonDefaultDrag): Deleted.
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performDragControllerAction):

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

2 years agoMedia element thinks its hidden when in PiP mode and tab is backgrounded.
jer.noble@apple.com [Mon, 22 May 2017 17:38:38 +0000 (17:38 +0000)]
Media element thinks its hidden when in PiP mode and tab is backgrounded.
https://bugs.webkit.org/show_bug.cgi?id=172221

Reviewed by Eric Carlson.

The element should not be considered hidden when in legacy fullscreen mode or PiP mode.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::visibilityStateChanged):
(WebCore::HTMLMediaElement::fullscreenModeChanged):

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

2 years agoUnreviewed, change my status to reviewer and fill "expertise" field
annulen@yandex.ru [Mon, 22 May 2017 17:15:08 +0000 (17:15 +0000)]
Unreviewed, change my status to reviewer and fill "expertise" field

* Scripts/webkitpy/common/config/contributors.json:

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

2 years agoFTL stack overflow handling should not assume that B3 never selects callee-saves...
fpizlo@apple.com [Mon, 22 May 2017 17:14:01 +0000 (17:14 +0000)]
FTL stack overflow handling should not assume that B3 never selects callee-saves in the prologue
https://bugs.webkit.org/show_bug.cgi?id=172455

Reviewed by Mark Lam.

The FTL needs to run B3's callee-save register restoration before it runs the exception
handler's callee-save register restoration.  This exposes B3's callee-save register
algorithm in AssemblyHelpers so that the FTL can call it.

* b3/air/AirGenerate.cpp:
(JSC::B3::Air::generate):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::lower): Fix the bug.
* heap/Subspace.cpp: Added some debugging support.
(JSC::Subspace::allocate):
(JSC::Subspace::tryAllocate):
(JSC::Subspace::didAllocate):
* heap/Subspace.h:
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::addressFor):
(JSC::AssemblyHelpers::emitSave):
(JSC::AssemblyHelpers::emitRestore):

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

2 years agoNavigatorEME: null RefPtr<> dereference due to different calling conventions
zandobersek@gmail.com [Mon, 22 May 2017 16:58:27 +0000 (16:58 +0000)]
NavigatorEME: null RefPtr<> dereference due to different calling conventions
https://bugs.webkit.org/show_bug.cgi?id=172352

Reviewed by Carlos Garcia Campos.

* Modules/encryptedmedia/NavigatorEME.cpp:
(WebCore::tryNextSupportedConfiguration): Avoid crashes when constructing
the MediaKeySystemAccess::create() arguments that can occur for targets with
calling conventions that might release the implementation RefPtr<> before it's
dereferenced to retrieve the key system string. Simply acquire the reference
to the key system String object before the MediaKeySystem::create() call
expression that releases the problematic RefPtr<>.

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

2 years agoAdd even more input validation in Connection::processMessage()
mcatanzaro@igalia.com [Mon, 22 May 2017 14:28:14 +0000 (14:28 +0000)]
Add even more input validation in Connection::processMessage()
https://bugs.webkit.org/show_bug.cgi?id=171682

Reviewed by Carlos Garcia Campos.

Verify that the size of the out-of-line message body matches the size of the AttachmentInfo
that is containing it.

* Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::processMessage):

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

2 years ago[CMake] Do not use a --no-keep-memory linker flag in 64bit system
yoon@igalia.com [Mon, 22 May 2017 13:46:41 +0000 (13:46 +0000)]
[CMake] Do not use a --no-keep-memory linker flag in 64bit system
https://bugs.webkit.org/show_bug.cgi?id=172429

Reviewed by Michael Catanzaro.

* Source/cmake/OptionsCommon.cmake:
In x86_64, cmake accidentally applies --no-keep-memory since MATCHES
uses the given value as a regex. It reduces linking performance
due to the frequent disk operations in x86_64.

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

2 years ago[macOS Sierra Wk1] LayoutTest/animations/animation-initial-inheritance.html is a...
antti@apple.com [Mon, 22 May 2017 13:17:24 +0000 (13:17 +0000)]
[macOS Sierra Wk1] LayoutTest/animations/animation-initial-inheritance.html is a flaky image failure.
https://bugs.webkit.org/show_bug.cgi?id=172177
<rdar://problem/32239583>

Unreviewed.

* animations/animation-initial-inheritance.html: Try to unflake.

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

2 years agoRemove some of the EFL port leftovers
tpopela@redhat.com [Mon, 22 May 2017 12:18:17 +0000 (12:18 +0000)]
Remove some of the EFL port leftovers
https://bugs.webkit.org/show_bug.cgi?id=172440

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

* Scripts/generate-forwarding-headers.pl:

Tools:

* BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):
(extractBuiltProduct):
* BuildSlaveSupport/test-result-archive:
(archiveTestResults):
* ImageDiff/PlatformEfl.cmake: Removed.
* Scripts/run-efl-tests: Removed.
* Scripts/webkit-build-directory:
* Scripts/webkitpy/common/config/contributionareas.py:
* Scripts/webkitpy/common/config/watchlist:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
(_set_up_derived_options):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.__init__):
* Scripts/webkitpy/style/checker.py:
* Scripts/webkitpy/style/checker_unittest.py:
(GlobalVariablesTest.test_path_rules_specifier):
* gtk/manifest.txt.in:
* jhbuild/jhbuild-wrapper:

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

2 years ago[GTK] Web Inspector: Add active call frame indicator image
commit-queue@webkit.org [Mon, 22 May 2017 12:17:57 +0000 (12:17 +0000)]
[GTK] Web Inspector: Add active call frame indicator image
https://bugs.webkit.org/show_bug.cgi?id=161987
<rdar://problem/28307419>

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-05-22
Reviewed by Carlos Garcia Campos.

Add a free icon for the Web Inspector of GTK port.

* UserInterface/Images/gtk/ActiveCallFrame.svg: Added.

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

2 years ago[CoordinatedGraphics] Clear UpdateAtlases for each tests
yoon@igalia.com [Mon, 22 May 2017 10:54:02 +0000 (10:54 +0000)]
[CoordinatedGraphics] Clear UpdateAtlases for each tests
https://bugs.webkit.org/show_bug.cgi?id=172119

Reviewed by Carlos Garcia Campos.

Source/WebCore:

* loader/EmptyClients.h:
* page/ChromeClient.h:
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Clears update atlases
while resetting states of the test runner.

Source/WebKit2:

In Coordinated Graphics, we reuses at least one update atlas to
render root compositing layer for several tests. So if one of the
test cases breaks the internal states of Cairo's states, other
followed test cases runs on same instance of WebKitTestRunner will
be effected by broken states of Cairo. Because it increases test
flaknesses, we should drop update atlases after each tests.

* WebProcess/WebCoreSupport/WebChromeClient.cpp: Remove a redundant
include statement for Coordinated graphics
(WebKit::WebChromeClient::resetUpdateAtlasForTesting): Added.
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/AcceleratedDrawingArea.cpp:
(WebKit::AcceleratedDrawingArea::resetUpdateAtlasForTesting): Added.
* WebProcess/WebPage/AcceleratedDrawingArea.h:
* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::clearUpdateAtlases): Added.
* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::clearUpdateAtlases): Added.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/LayerTreeHost.h:
* WebProcess/WebPage/wpe/DrawingAreaWPE.cpp:
(WebKit::DrawingAreaWPE::resetUpdateAtlasForTesting):
* WebProcess/WebPage/wpe/DrawingAreaWPE.h:

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

2 years ago[CoordinatedGraphics] BitmapTexturePool does not release textures properly
yoon@igalia.com [Mon, 22 May 2017 10:19:05 +0000 (10:19 +0000)]
[CoordinatedGraphics] BitmapTexturePool does not release textures properly
https://bugs.webkit.org/show_bug.cgi?id=172428

Reviewed by Žan Doberšek.

No new tests because no behavior change.

* platform/graphics/texmap/BitmapTexturePool.cpp:
(WebCore::BitmapTexturePool::BitmapTexturePool):
Use the RunLoopTimer instead of Timer, because BitmapTexturePool would
run on the compositing thread in Coordinated Graphics case.
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
We should check not only the last used time but also the refcounts of the
texture when selecting textures to remove.
* platform/graphics/texmap/BitmapTexturePool.h:
(WebCore::BitmapTexturePool::Entry::canBeReleased): Added.

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

2 years agoUnreviewed. Update OptionsGTK.cmake and NEWS for 2.17.3 release.
carlosgc@webkit.org [Mon, 22 May 2017 08:49:20 +0000 (08:49 +0000)]
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.17.3 release.

.:

* Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

* gtk/NEWS: Add release notes for 2.17.3.

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

2 years agoUnreviewed. Do not include WPE files in GTK+ tarballs.
carlosgc@webkit.org [Mon, 22 May 2017 08:03:02 +0000 (08:03 +0000)]
Unreviewed. Do not include WPE files in GTK+ tarballs.

* gtk/manifest.txt.in:

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

2 years ago[GTK] Add webkit_context_menu_item_new_from_gaction
carlosgc@webkit.org [Mon, 22 May 2017 07:50:44 +0000 (07:50 +0000)]
[GTK] Add webkit_context_menu_item_new_from_gaction
https://bugs.webkit.org/show_bug.cgi?id=159631

Reviewed by Michael Catanzaro.

Source/WebKit2:

Add new API to create a WebKitContextMenuItem from a GAction and also to get the associated GAction.

* Shared/gtk/WebContextMenuItemGtk.cpp:
(WebKit::WebContextMenuItemGtk::WebContextMenuItemGtk): Add constructor that receives a GAction.
(WebKit::isGActionChecked): Helper to check if a stateful GAction is checked or not.
(WebKit::WebContextMenuItemGtk::createActionIfNeeded): When creating a GAction from a GtkAtion, use the
GtkAction name instead of adding a new one. Do not create the GAction if we already have one.
* Shared/gtk/WebContextMenuItemGtk.h:
(WebKit::WebContextMenuItemGtk::gAction):
(WebKit::WebContextMenuItemGtk::gActionTarget):
* UIProcess/API/gtk/WebKitContextMenuItem.cpp:
(webkit_context_menu_item_new_from_gaction):
(webkit_context_menu_item_get_gaction):
* UIProcess/API/gtk/WebKitContextMenuItem.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::contextMenuItemActivatedCallback): Update the state of the internal GAction in case of toggle menu items.
(WebKit::WebContextMenuProxyGtk::append): Pass the GAction target to g_menu_item_set_action_and_target_value. Do
not connect to activate signal of actions provided by the user.

Tools:

Update context menu tests to check the new GAction API.

* TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:
(testContextMenuPopulateMenu):

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

2 years ago[WPE] Use surfaceless context for sharing and offscreen context if available
carlosgc@webkit.org [Mon, 22 May 2017 07:30:39 +0000 (07:30 +0000)]
[WPE] Use surfaceless context for sharing and offscreen context if available
https://bugs.webkit.org/show_bug.cgi?id=172268

Reviewed by Žan Doberšek.

Like GTK+ port does, WPE should use surfaceless contexts when possible, and only create a native offscreen
context as a fallback. We don't need to do anything special in WPE port, just to make it consistent with the
Wayland and X11 implementations. We should also avoid including EGL.h in headers, we added
GLContextEGLWayland.cpp and GLContextEGLX11.cpp to avoid that. PlatformDisplayWPE::EGLOffscreenTarget is quite
simple and only used by GLContextEGLWPE, so we could move it there like we do for Wayland and X11.

* platform/graphics/GLContext.h: Remove EGL header includes.
* platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createWindowContext): Use createWindowSurfaceWPE() in WPE.
(WebCore::GLContextEGL::createContext): Use createWPEContext in WPE.
(WebCore::GLContextEGL::createSharingContext): Move the WPE code below to ensure we try
createSurfacelessContext() first.
* platform/graphics/egl/GLContextEGL.h:
* platform/graphics/egl/GLContextEGLWPE.cpp:
(WebCore::GLContextEGL::GLContextEGL): Add constructor for WPE that receives a struct wpe_renderer_backend_egl_offscreen_target*
(WebCore::GLContextEGL::createWindowSurfaceWPE): Added implementation here because eglCreateWindowSurface needs
the platform specific EGL includes and definitions.
(WebCore::GLContextEGL::createWPEContext): Create a GLContext using WPE backend API directly here.
(WebCore::GLContextEGL::destroyWPETarget): Add null check.
* platform/graphics/wpe/PlatformDisplayWPE.cpp: Remove EGLOffscreenTarget.
* platform/graphics/wpe/PlatformDisplayWPE.h:

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

2 years ago[Win][CMake] Move MSVC compiler options to a common location
commit-queue@webkit.org [Mon, 22 May 2017 07:15:21 +0000 (07:15 +0000)]
[Win][CMake] Move MSVC compiler options to a common location
https://bugs.webkit.org/show_bug.cgi?id=172230

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-05-22
Reviewed by Yusuke Suzuki.

.:

* Source/cmake/OptionsMSVC.cmake: Added.
* Source/cmake/OptionsWin.cmake:

Source/WebKit:

* PlatformWin.cmake:

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

2 years agoAdd more input validation in Connection::readBytesFromSocket()
carlosgc@webkit.org [Mon, 22 May 2017 06:57:08 +0000 (06:57 +0000)]
Add more input validation in Connection::readBytesFromSocket()
https://bugs.webkit.org/show_bug.cgi?id=171871

Reviewed by Michael Catanzaro.

Check the control message length is in the limits. Credit to Nathan Crandall for reporting this issue and
submitting an equivalent fix.

* Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::readBytesFromSocket):

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

2 years agoUnreviewed Windows test gardening, skip tests which are timing out.
pvollan@apple.com [Mon, 22 May 2017 06:55:15 +0000 (06:55 +0000)]
Unreviewed Windows test gardening, skip tests which are timing out.

* platform/win/TestExpectations:

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

2 years ago[Win] Update expectations for layout tests.
pvollan@apple.com [Mon, 22 May 2017 06:30:27 +0000 (06:30 +0000)]
[Win] Update expectations for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=172437

Unreviewed test gardening, update test expectations for failing tests.

* platform/win/TestExpectations:

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

2 years ago[GTK] Remove Firefox user agent quirk for Google domains
mcatanzaro@igalia.com [Mon, 22 May 2017 06:27:05 +0000 (06:27 +0000)]
[GTK] Remove Firefox user agent quirk for Google domains
https://bugs.webkit.org/show_bug.cgi?id=171941

Reviewed by Carlos Garcia Campos.

Source/WebCore:

* platform/UserAgentQuirks.cpp:
(WebCore::UserAgentQuirks::quirksForURL):
(WebCore::UserAgentQuirks::stringForQuirk):
(WebCore::urlRequiresFirefoxBrowser): Deleted.
(WebCore::UserAgentQuirks::firefoxRevisionString): Deleted.
* platform/UserAgentQuirks.h:
* platform/gtk/UserAgentGtk.cpp:
(WebCore::buildUserAgentString):

Tools:

* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::assertUserAgentForURLHasFirefoxBrowserQuirk): Deleted.

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

2 years ago[FTL] Support GetByVal with ArrayStorage and SlowPutArrayStorage
utatane.tea@gmail.com [Mon, 22 May 2017 06:24:44 +0000 (06:24 +0000)]
[FTL] Support GetByVal with ArrayStorage and SlowPutArrayStorage
https://bugs.webkit.org/show_bug.cgi?id=172216

Reviewed by Saam Barati.

JSTests:

* stress/array-storage-get-by-val.js: Added.
(shouldBe):
(testOutOfBound):
(testInBound):
(testSlowPutOutOfBound):
(testSlowPutInBound):

Source/JavaScriptCore:

This patch adds GetByVal support for ArrayStorage and SlowPutArrayStorage.
To lower CheckInBounds in FTL, we add a new GetVectorLength op. It only accepts
ArrayStorage and SlowPutArrayStorage, then it produces vector length.
CheckInBounds uses this vector length to perform bound checking for ArrayStorage
and SlowPutArrayStorage.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::permitsBoundsCheckLowering):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
* dfg/DFGHeapLocation.h:
* dfg/DFGIntegerRangeOptimizationPhase.cpp:
* dfg/DFGNode.h:
(JSC::DFG::Node::hasArrayMode):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSSALoweringPhase.cpp:
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLAbstractHeapRepository.h:
(JSC::FTL::AbstractHeapRepository::forIndexingType):
(JSC::FTL::AbstractHeapRepository::forArrayType):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileGetVectorLength):
(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitArrayStoragePutByVal):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emitArrayStorageLoad):
(JSC::JIT::emitArrayStoragePutByVal):

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

2 years agoUnreviewed, fix commented out tests
utatane.tea@gmail.com [Mon, 22 May 2017 06:00:43 +0000 (06:00 +0000)]
Unreviewed, fix commented out tests
https://bugs.webkit.org/show_bug.cgi?id=172225

* stress/get-by-val-string.js:
(object.43):
(Hello):
(Hello.prototype.get 42):
(Hello.prototype.43):
(Derived):
(shouldBe):
(throw.new.Error): Deleted.

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

2 years agoWe incorrectly throw a syntax error when declaring a top level for-loop iteration...
sbarati@apple.com [Mon, 22 May 2017 05:47:33 +0000 (05:47 +0000)]
We incorrectly throw a syntax error when declaring a top level for-loop iteration variable the same as a parameter
https://bugs.webkit.org/show_bug.cgi?id=171041
<rdar://problem/32082516>

Reviewed by Yusuke Suzuki.

JSTests:

* stress/lexical-scoping-for-loop.js: Added.
(assert):
(test1):
(test2):
(test3):
(test4):
(test5):
(test6):
(let.test7):
(let.test8):
(let.test9):
(let.test10):
(let.test11):
(let.test12):

Source/JavaScriptCore:

We were treating a for-loop variable declaration potentially as a top
level statement, e.g, in a program like this:
```
function foo() {
    for (let variable of expr) { }
}
```
But we should not be. This had the consequence of making this type of program
throw a syntax error:
```
function foo(arg) {
    for (let arg of expr) { }
}
```
even though it should not. The fix is simple, we just need to increment the
statement depth before parsing anything inside the for loop.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseForStatement):

LayoutTests:

* js/parser-syntax-check-expected.txt:
* js/script-tests/parser-syntax-check.js:

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