WebKit-https.git
2 years agoArray.prototype.indexOf fast path needs to ensure the length is still valid after...
sbarati@apple.com [Mon, 24 Sep 2018 23:05:54 +0000 (23:05 +0000)]
Array.prototype.indexOf fast path needs to ensure the length is still valid after performing effects
https://bugs.webkit.org/show_bug.cgi?id=189922
<rdar://problem/44651275>

Reviewed by Mark Lam.

JSTests:

* stress/array-indexof-fast-path-effects.js: Added.
* stress/array-indexof-cached-length.js: Added.

Source/JavaScriptCore:

The implementation was first getting the length to iterate up to,
then getting the starting index. However, getting the starting
index may perform effects. e.g, it could change the length of the
array. This changes it so we verify the length is still valid.

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncIndexOf):

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

2 years agoBegin deprecating C API
achristensen@apple.com [Mon, 24 Sep 2018 23:04:56 +0000 (23:04 +0000)]
Begin deprecating C API
https://bugs.webkit.org/show_bug.cgi?id=189810

Reviewed by Andy Estes.

* Shared/API/c/WKDeprecated.h: Added.
* UIProcess/API/C/WKPage.h:
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(setUpPagePolicyClient):
(-[WKBrowsingContextController setPolicyDelegate:]):
* WebKit.xcodeproj/project.pbxproj:

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

2 years ago[WHLSL] Casting user-created types to themselves should always work
commit-queue@webkit.org [Mon, 24 Sep 2018 23:04:06 +0000 (23:04 +0000)]
[WHLSL] Casting user-created types to themselves should always work
https://bugs.webkit.org/show_bug.cgi?id=189113

Patch by Thomas Denney <tdenney@apple.com> on 2018-09-24
Reviewed by Myles C. Maxfield.

Casting user-defined types to themselves worked already, but we didn't
test it anywhere.

* WebGPUShadingLanguageRI/Test.js:
(tests.selfCasts):

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

2 years agoofflineasm: fix macro scoping
tzagallo@apple.com [Mon, 24 Sep 2018 22:59:23 +0000 (22:59 +0000)]
offlineasm: fix macro scoping
https://bugs.webkit.org/show_bug.cgi?id=189902

Reviewed by Mark Lam.

In the code below, the reference to `f` in `g`, which should refer to
the outer macro definition will instead refer to the f argument of the
anonymous macro passed to `g`. That leads to this code failing to
compile (f expected 0 args but got 1).

```
macro f(x)
    move x, t0
end

macro g(fn)
    fn(macro () f(42) end)
end

g(macro(f) f() end)
```

* offlineasm/ast.rb:
* offlineasm/transform.rb:

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

2 years agoNo-op document.open() calls should not have any side effects
cdumez@apple.com [Mon, 24 Sep 2018 22:55:56 +0000 (22:55 +0000)]
No-op document.open() calls should not have any side effects
https://bugs.webkit.org/show_bug.cgi?id=189373
<rdar://problem/44282702>

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT test now that it is passing.

* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window-expected.txt:

Source/WebCore:

Update document.open() implementation to match the specification [1] more closely.
In particular, URLs updates should happen much later, at step 11. They were happening
too early and would cause side effects when returning early.

[1] https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#document-open-steps

No new tests, rebaselined existing test.

* dom/Document.cpp:
(WebCore::Document::open):

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

2 years agoInclude more headers in IOSurface.mm, PixelBufferResizer.{h, mm}
dbates@webkit.org [Mon, 24 Sep 2018 22:47:35 +0000 (22:47 +0000)]
Include more headers in IOSurface.mm, PixelBufferResizer.{h, mm}
https://bugs.webkit.org/show_bug.cgi?id=189928

Reviewed by Andy Estes.

Make building IOSurface.mm and PixelBufferResizer.mm deterministic regardless of
which bundle of unified sources they are built in.

* platform/graphics/cocoa/IOSurface.mm: Include headers HostWindow.h and PlatformScreen.h
since we make use of functionality from these headers.
* platform/graphics/cv/PixelBufferResizer.h: Include header IntSize.h since
we need the size of an IntSize for m_size.
* platform/graphics/cv/PixelBufferResizer.mm: Include header Logging.h since
this file makes use of logging facilities. Also substitute #import for #include
while I am here since this file is an Objective-C++ file.

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

2 years ago[Curl] Enable http/tests/misc tests.
Basuke.Suzuki@sony.com [Mon, 24 Sep 2018 22:40:43 +0000 (22:40 +0000)]
[Curl] Enable http/tests/misc tests.
https://bugs.webkit.org/show_bug.cgi?id=189931

Unreviewed test gardening.

* platform/wincairo/TestExpectations:
* platform/wincairo/http/tests/misc/acid2-expected.txt: Added.
* platform/wincairo/http/tests/misc/acid2-pixel-expected.txt: Added.
* platform/wincairo/http/tests/misc/error404-expected.txt: Added.
* platform/wincairo/http/tests/misc/favicon-as-image-expected.txt: Added.
* platform/wincairo/http/tests/misc/frame-access-during-load-expected.txt: Added.
* platform/wincairo/http/tests/misc/generated-content-inside-table-expected.txt: Added.
* platform/wincairo/http/tests/misc/iframe404-expected.txt: Added.
* platform/wincairo/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt: Added.
* platform/wincairo/http/tests/misc/object-embedding-svg-delayed-size-negotiation-expected.png: Added.
* platform/wincairo/http/tests/misc/slow-loading-image-in-pattern-expected.txt: Added.

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

2 years agoAdd forEach method for iterating CodeBlock's ValueProfiles
tzagallo@apple.com [Mon, 24 Sep 2018 22:03:34 +0000 (22:03 +0000)]
Add forEach method for iterating CodeBlock's ValueProfiles
https://bugs.webkit.org/show_bug.cgi?id=189897

Reviewed by Mark Lam.

Add method to abstract how we find ValueProfiles in a CodeBlock in
preparation for https://bugs.webkit.org/show_bug.cgi?id=189785, when
ValueProfiles will be stored in the MetadataTable.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC::CodeBlock::updateAllValueProfilePredictions):
(JSC::CodeBlock::shouldOptimizeNow):
(JSC::CodeBlock::dumpValueProfiles):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::forEachValueProfile):
(JSC::CodeBlock::numberOfArgumentValueProfiles):
(JSC::CodeBlock::valueProfileForArgument):
(JSC::CodeBlock::numberOfValueProfiles):
(JSC::CodeBlock::valueProfile):
(JSC::CodeBlock::totalNumberOfValueProfiles): Deleted.
(JSC::CodeBlock::getFromAllValueProfiles): Deleted.
* tools/HeapVerifier.cpp:
(JSC::HeapVerifier::validateJSCell):

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

2 years ago[Payment Request] Events cleanup
aestes@apple.com [Mon, 24 Sep 2018 21:48:13 +0000 (21:48 +0000)]
[Payment Request] Events cleanup
https://bugs.webkit.org/show_bug.cgi?id=189925

Reviewed by Simon Fraser.

1. Constructed MerchantValidationEvents (and ApplePayValidateMerchantEvents) with rvalue
references to validationURLs.
2. Instead of MerchantValidationEvent and PaymentRequestUpdateEvent having a
RefPtr<PaymentRequest>, downcasted their target to a PaymentRequest. Trusted versions of
these events are always dispatched to a PaymentRequest object.
3. Defined MerchantValidationEventInit in MerchantValidationEvent.idl instead of having a
separate .idl and .h for this dictionary.

No new tests. No change in behavior.

* CMakeLists.txt:
* DerivedSources.make:
* Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::validateMerchant):
* Modules/applepay/ApplePaySession.h:
* Modules/applepay/ApplePayValidateMerchantEvent.cpp:
(WebCore::ApplePayValidateMerchantEvent::ApplePayValidateMerchantEvent):
* Modules/applepay/ApplePayValidateMerchantEvent.h:
(WebCore::ApplePayValidateMerchantEvent::create):
* Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::validateMerchant):
* Modules/applepay/PaymentCoordinator.h:
* Modules/applepay/PaymentSession.h:
* Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::validateMerchant):
* Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
* Modules/paymentrequest/MerchantValidationEvent.cpp:
(WebCore::MerchantValidationEvent::create):
(WebCore::MerchantValidationEvent::MerchantValidationEvent):
(WebCore::MerchantValidationEvent::complete):
* Modules/paymentrequest/MerchantValidationEvent.h:
* Modules/paymentrequest/MerchantValidationEvent.idl:
* Modules/paymentrequest/MerchantValidationEventInit.h: Removed.
* Modules/paymentrequest/MerchantValidationEventInit.idl: Removed.
* Modules/paymentrequest/PaymentMethodChangeEvent.cpp:
(WebCore::PaymentMethodChangeEvent::PaymentMethodChangeEvent):
* Modules/paymentrequest/PaymentMethodChangeEvent.h:
* Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::shippingAddressChanged):
(WebCore::PaymentRequest::shippingOptionChanged):
(WebCore::PaymentRequest::paymentMethodChanged):
* Modules/paymentrequest/PaymentRequest.h:
(isType):
* Modules/paymentrequest/PaymentRequestUpdateEvent.cpp:
(WebCore::PaymentRequestUpdateEvent::PaymentRequestUpdateEvent):
(WebCore::PaymentRequestUpdateEvent::updateWith):
* Modules/paymentrequest/PaymentRequestUpdateEvent.h:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* dom/EventTarget.cpp:
(WebCore::EventTarget::isPaymentRequest const):
* dom/EventTarget.h:

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

2 years agoUpdate some test results under compositing/overflow
simon.fraser@apple.com [Mon, 24 Sep 2018 20:49:25 +0000 (20:49 +0000)]
Update some test results under compositing/overflow
https://bugs.webkit.org/show_bug.cgi?id=189857

Reviewed by Tim Horton.

Unskip some tests under compositing/overflow, and land new macOS and iOS expectations.

* compositing/overflow/overflow-auto-with-touch-expected.txt:
* compositing/overflow/overflow-overlay-with-touch-expected.txt:
* compositing/overflow/scrolling-content-clip-to-viewport-expected.txt:
* compositing/overflow/scrolling-without-painting-expected.txt:
* compositing/overflow/textarea-scroll-touch-expected.txt:
* compositing/overflow/updating-scrolling-content-expected.txt:
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios/TestExpectations:
* platform/ios/compositing/overflow/nested-scrolling-expected.txt:
* platform/ios/compositing/overflow/overflow-auto-with-touch-expected.txt: Copied from LayoutTests/compositing/overflow/overflow-auto-with-touch-expected.txt.
* platform/ios/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt: Copied from LayoutTests/compositing/overflow/overflow-auto-with-touch-expected.txt.
* platform/ios/compositing/overflow/overflow-overlay-with-touch-expected.txt: Copied from LayoutTests/compositing/overflow/overflow-overlay-with-touch-expected.txt.
* platform/ios/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt: Copied from LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt.
* platform/ios/compositing/overflow/scrolling-without-painting-expected.txt: Copied from LayoutTests/compositing/overflow/scrolling-without-painting-expected.txt.
* platform/ios/compositing/overflow/textarea-scroll-touch-expected.txt: Copied from LayoutTests/compositing/overflow/textarea-scroll-touch-expected.txt.
* platform/ios/compositing/overflow/updating-scrolling-content-expected.txt: Copied from LayoutTests/compositing/overflow/updating-scrolling-content-expected.txt.
* platform/mac/TestExpectations:
* platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt:

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

2 years agoSeparate Mac and iOS implementation of windowsKeyCodeForCharCode()
dbates@webkit.org [Mon, 24 Sep 2018 20:47:39 +0000 (20:47 +0000)]
Separate Mac and iOS implementation of windowsKeyCodeForCharCode()
https://bugs.webkit.org/show_bug.cgi?id=189898

Reviewed by Tim Horton.

Extract the Mac and iOS implementations into a windowsKeyCodeForCharCode() defined in file
KeyEventMac.mm and file KeyEventIOS, respectively.

Mac and iOS have significant differences in how they represent function keys. It is not worthwhile
to share windowsKeyCodeForCharCode() between them given these differences. On Mac function keys
are represented by a char code in the range 0xF700-0xF8FF. On iOS these keys may not have a unique
char code (e.g. F1 = 0x10 = F10) and must be identified either by special string (e.g. UIKeyInputUpArrow)
or key code.

* platform/cocoa/KeyEventCocoa.mm:
(WebCore::windowsKeyCodeForCharCode): Deleted.
* platform/ios/KeyEventIOS.mm:
(WebCore::windowsKeyCodeForCharCode): Added. Remove the handling of NS*FunctionKey char codes
as function keys are not represented using them as of iOS 12.
* platform/mac/KeyEventMac.mm:
(WebCore::windowsKeyCodeForCharCode): Added.

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

2 years agoContinued test gardening of media-fragment/ tests for ios 12
tsavell@apple.com [Mon, 24 Sep 2018 20:40:39 +0000 (20:40 +0000)]
Continued test gardening of media-fragment/ tests for ios 12
https://bugs.webkit.org/show_bug.cgi?id=187557

Unreviewed test gardening

* platform/ios/TestExpectations:

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

2 years agoUnreviewed, rolling out r236368.
cdumez@apple.com [Mon, 24 Sep 2018 20:31:31 +0000 (20:31 +0000)]
Unreviewed, rolling out r236368.

Caused WebKit.NetworkProcessCrashWithPendingConnection API
test to crash (Bug 189926)

Reverted changeset:

"Extending the lifetime of a NetworkProcessProxy /
StorageProcessProxy may cause it to have a stale
WebProcessPool pointer"
https://bugs.webkit.org/show_bug.cgi?id=189851
https://trac.webkit.org/changeset/236368

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

2 years agoRemove the old "AcceleratedCompositingForOverflowScroll" code
simon.fraser@apple.com [Mon, 24 Sep 2018 20:19:46 +0000 (20:19 +0000)]
Remove the old "AcceleratedCompositingForOverflowScroll" code
https://bugs.webkit.org/show_bug.cgi?id=189870

Reviewed by Zalan Bujtas.

The "AcceleratedCompositingForOverflowScroll" code was added to allow overflow:scroll to use
composited scrolling if an overflow:scroll could be made a stacking context without affecting
z-order. We need overflow:scroll to be accelerated always, so a different approach is needed.
Remove this old code (unused by any platform?) to make working on new code easier.
Source/WebCore:

* page/Settings.yaml:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::setHasVisibleContent):
(WebCore::RenderLayer::updateDescendantDependentFlags):
(WebCore::RenderLayer::dirty3DTransformedDescendantStatus):
(WebCore::RenderLayer::stackingContext const):
(WebCore::compositingContainer):
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::hasAcceleratedTouchScrolling const):
(WebCore::RenderLayer::usesAcceleratedScrolling const):
(WebCore::adjustedScrollDelta):
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
(WebCore::RenderLayer::enclosingFragmentedFlowAncestor const):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::RenderLayer::acceleratedCompositingForOverflowScrollEnabled const): Deleted.
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder): Deleted.
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive): Deleted.
(WebCore::RenderLayer::positionNewlyCreatedOverflowControls): Deleted.
(WebCore::RenderLayer::canBeStackingContainer const): Deleted.
(WebCore::RenderLayer::stackingContainer const): Deleted.
(WebCore::RenderLayer::needsCompositedScrolling const): Deleted.
(WebCore::RenderLayer::updateNeedsCompositedScrolling): Deleted.
* rendering/RenderLayer.h:
(WebCore::RenderLayer::clearZOrderLists):
(WebCore::RenderLayer::updateZOrderLists):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateAfterLayout):
(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer const):
(WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer const):
(WebCore::RenderLayerBacking::requiresScrollCornerLayer const):
(WebCore::RenderLayerBacking::compositingOpacity const):
(WebCore::traverseVisibleNonCompositedDescendantLayers):
(WebCore::RenderLayerBacking::hasUnpositionedOverflowControlsLayers const): Deleted.
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayersAfterFlush):
(WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush):
(WebCore::styleChangeRequiresLayerRebuild):
(WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer const):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::requiresCompositingLayer const):
(WebCore::RenderLayerCompositor::requiresOwnBackingStore const):
(WebCore::RenderLayerCompositor::reasonsForCompositing const):
(WebCore::RenderLayerCompositor::requiresCompositingForBackfaceVisibility const):
(WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer const):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition const):
(WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling const):
(WebCore::RenderLayerCompositor::requiresCompositingForScrolling const): Deleted.
* rendering/RenderLayerCompositor.h:

Source/WebKit:

* Shared/WebPreferences.yaml:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAcceleratedCompositingForOverflowScrollEnabled): Deleted.
(WKPreferencesGetAcceleratedCompositingForOverflowScrollEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:

LayoutTests:

Keep some of the tests; they will be useful later.

* compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Removed.
* compositing/overflow/automatically-opt-into-composited-scrolling.html: Removed.
* compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html:
* compositing/overflow/composited-scrolling-creates-a-stacking-container.html: Removed.
* compositing/overflow/composited-scrolling-paint-phases.html:
* compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html:
* compositing/overflow/dynamic-composited-scrolling-status.html:
* compositing/overflow/iframe-inside-overflow-clipping.html:
* compositing/overflow/nested-scrolling.html:
* compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html:
* compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html:
* compositing/overflow/scrolling-content-clip-to-viewport.html:
* compositing/overflow/scrolling-without-painting.html:
* compositing/overflow/textarea-scroll-touch.html:
* compositing/overflow/updating-scrolling-content.html:
* compositing/rtl/rtl-overflow-scrolling.html:
* platform/gtk/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Removed.
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-wk1/TestExpectations:
* platform/ios/compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Removed.
* platform/ios/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Removed.
* platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Removed.

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

2 years agoEnable conversion of libwebrtc internal frames as CVPixelBuffer
youenn@apple.com [Mon, 24 Sep 2018 20:15:17 +0000 (20:15 +0000)]
Enable conversion of libwebrtc internal frames as CVPixelBuffer
https://bugs.webkit.org/show_bug.cgi?id=189892

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Renamed encoder/decoder factory creation routine.
Make pixelBufferFromFrame take a function to create a CVPixelBuffer
if the frame does not wrap one.
Initialize the CVPixelBuffer with libwebrtc internal frame.

* Configurations/libwebrtc.iOS.exp:
* Configurations/libwebrtc.iOSsim.exp:
* Configurations/libwebrtc.mac.exp:
* Source/webrtc/sdk/WebKit/WebKitUtilities.h:
* Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::createWebKitEncoderFactory):
(webrtc::createWebKitDecoderFactory):
(webrtc::CopyVideoFrameToPixelBuffer):
(webrtc::pixelBufferFromFrame):
(webrtc::createVideoToolboxEncoderFactory): Deleted.
(webrtc::createVideoToolboxDecoderFactory): Deleted.

Source/WebCore:

Make sure to handle the case of libwebrtc frames that are not backed by CVPixelBuffer.
No observable change of behavior.

* platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:
(WebCore::LibWebRTCProviderCocoa::createDecoderFactory):
(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):
Update according renamed methods.
* platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.h:
* platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
(WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferFromVideoFrame):
In case of libwebrtc frame that are not backed by CVPixelBuffer, we create
a CVPixelBuffer from a pixel buffer pool.
This CVPixelBuffer is then filled as part of webrtc::pixelBufferFromFrame.
* platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:
(WebCore::RealtimeOutgoingVideoSourceCocoa::convertToYUV):
Make sure to use preferred pixel buffer format.

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

2 years ago[MediaStream] Add mock window capture source
eric.carlson@apple.com [Mon, 24 Sep 2018 20:12:57 +0000 (20:12 +0000)]
[MediaStream] Add mock window capture source
https://bugs.webkit.org/show_bug.cgi?id=189843
<rdar://problem/44687445>

Reviewed by Youenn Fablet.

No new tests, the API is disabled and it isn't possible to test yet.

* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::processNewFrame): Remove an extra blank line.

* platform/mock/MockMediaDevice.h:
(WebCore::MockDisplayProperties::encode const): Get rid of defaultFrameRate, add type.
(WebCore::MockDisplayProperties::decode): Ditto.
(WebCore::MockMediaDevice::type const):

* platform/mock/MockRealtimeMediaSourceCenter.cpp:
(WebCore::defaultDevices): Add mock window devices.
(WebCore::MockRealtimeMediaSourceCenter::audioDevices): Cleanup.
(WebCore::MockRealtimeMediaSourceCenter::videoDevices): Cleanup.
(WebCore::MockRealtimeMediaSourceCenter::displayDevices): New.

* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource): Set default size on displays.
(WebCore::MockRealtimeVideoSource::supportsSizeAndFrameRate): Call RealtimeVideoSource for
mock camera, base class for device.
(WebCore::MockRealtimeVideoSource::setSizeAndFrameRate): Ditto.
(WebCore::MockRealtimeVideoSource::generatePresets): ASSERT if called as a camera.
(WebCore::MockRealtimeVideoSource::capabilities): updateCapabilities is only appropriate for cameras.
(WebCore::MockRealtimeVideoSource::settings): Camera and Device are different surface types.
(WebCore::MockRealtimeVideoSource::drawText): Render name, not ID.
(WebCore::MockRealtimeVideoSource::mockDisplayType const):

* platform/mock/MockRealtimeVideoSource.h:
(WebCore::MockRealtimeVideoSource::mockDisplay const):
(WebCore::MockRealtimeVideoSource::mockScreen const):
(WebCore::MockRealtimeVideoSource::mockWindow const):

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

2 years agoArgumentsEliminationPhase should snip basic blocks after proven OSR exits
sbarati@apple.com [Mon, 24 Sep 2018 20:12:26 +0000 (20:12 +0000)]
ArgumentsEliminationPhase should snip basic blocks after proven OSR exits
https://bugs.webkit.org/show_bug.cgi?id=189682
<rdar://problem/43557315>

Reviewed by Mark Lam.

JSTests:

* stress/arguments-elimination-will-generate-edge-without-result.js: Added.
(foo):

Source/JavaScriptCore:

Otherwise, if we have code like this:
```
a: Arguments
b: GetButterfly(@a)
c: ForceExit
d: GetArrayLength(@a, @b)
```
it will get transformed into this invalid DFG IR:
```
a: PhantomArguments
b: Check(@a)
c: ForceExit
d: GetArrayLength(@a, @b)
```

And we will fail DFG validation since @b does not have a result.

The fix is to just remove all nodes after the ForceExit and plant an
Unreachable after it. So the above code program will now turn into this:
```
a: PhantomArguments
b: Check(@a)
c: ForceExit
e: Unreachable
```

* dfg/DFGArgumentsEliminationPhase.cpp:

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

2 years agoDo not do early processing of incoming sync IPC unless we're waiting for a sync IPC...
cdumez@apple.com [Mon, 24 Sep 2018 19:44:08 +0000 (19:44 +0000)]
Do not do early processing of incoming sync IPC unless we're waiting for a sync IPC reply
https://bugs.webkit.org/show_bug.cgi?id=186941

Reviewed by Alex Christensen.

Source/WebKit:

The comment was claiming we were processing incoming sync messages while waiting for a
sync IPC reply to prevent deadlocks. However, the code was failing to check if we were
waiting for a sync IPC reply. As a result, incoming sync IPC messages would get processed
early no matter what, jumping the line. This was the source of the flakiness in the blob
tests since the IPC to register the blob in the network process was async and the follow-up
IPC to ask the network process for the blob size was sync. The sync message to get the blob
size would jump the line and get processed before the async message to register the blob.
As a result, the network process would not know about the blob yet and return size 0. Of
course, this could happen if the network process was sending sync IPC at the time. However,
the network process never sends any sync IPC and therefore, should never process incoming
IPC messages out of order.

* Platform/IPC/Connection.cpp:
(IPC::Connection::processIncomingMessage):

LayoutTests:

Add layout test coverage.

* http/tests/misc/blob-size-expected.txt: Added.
* http/tests/misc/blob-size.html: Added.

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

2 years agoUnreviewed, skip imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-inser...
cdumez@apple.com [Mon, 24 Sep 2018 19:42:31 +0000 (19:42 +0000)]
Unreviewed, skip imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.html

This newly imported test flakily times out.

* TestExpectations:

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

2 years agoUnreviewed WPE gardening. Managing failing WebGL tests in the 2.0.0
zandobersek@gmail.com [Mon, 24 Sep 2018 19:20:20 +0000 (19:20 +0000)]
Unreviewed WPE gardening. Managing failing WebGL tests in the 2.0.0
version of the Khronos conformance suite.

* platform/wpe/TestExpectations: Skip the GLSL test cases of which one
is DoS-ing AMD GPUs on Linux. This needs more research to isolate the
culprit and properly fix the underlying problem.
* platform/wpe/webgl/2.0.0/: 44 test baselines added.

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

2 years ago[iOS] Key code is 0 for many hardware keyboard keys
dbates@webkit.org [Mon, 24 Sep 2018 19:13:14 +0000 (19:13 +0000)]
[iOS] Key code is 0 for many hardware keyboard keys
https://bugs.webkit.org/show_bug.cgi?id=189604

Reviewed by Wenson Hsieh.

Source/WebCore:

Based off a patch by Jeremy Jones.

Add iOS-specific implementation of windowsKeyCodeForKeyCode() to map an iOS virtual key code to
the corresponding Windows virtual key code. Only hardware keyboard-generated events have a
virtual key code. For software-generated keyboard events we do what we do now and compute the
Windows virtual key code from the character string associated with the event.

When a WebEvent is instantiated with a non-zero iOS virtual key code (keyCode) we now always
convert it to its corresponding Windows virtual key code without considering the specified
charactersIgnoringModifiers character string. Currently we prefer computing the key code from
charactersIgnoringModifiers regardless of whether a non-zero iOS virtual key code was given.
However this causes special keys, including function keys (e.g. F10) to be misidentified because
keyboard layouts in iOS (at least iOS 12) map such special keys to ASCII control characters (e.g.
F10 maps to ASCII control character "data link escape" = 0x10) as opposed to special 16-bit
integral constants as we do on Mac (e.g. F10 maps to NSF10FunctionKey = 0xF70D on Mac). I will
look to fix up the computation of a Windows virtual key code from a char code on iOS in a
subsequent commit(s). For now, computing the Windows virtual key code directly from the iOS
virtual key code specified to the WebEvent constructor avoids the misidentification using
an ANSI US keyboard layout.

* platform/cocoa/KeyEventCocoa.mm:
(WebCore::windowsKeyCodeForKeyCode): Deleted; moved to KeyEventMac.mm as this mapping is specific to Mac.
* platform/ios/KeyEventIOS.mm:
(WebCore::windowsKeyCodeForKeyCode): Added.
* platform/ios/WebEvent.mm:
(-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:keyCode:isTabKey:characterSet:]): Address the NOTE comment and compute the Windows virtual key code from
the iOS virtual key code when we have one. Also inline the value of an unncessary local variable.
(-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:withInputManagerHint:keyCode:isTabKey:]): Ditto.
* platform/mac/KeyEventMac.mm:
(WebCore::windowsKeyCodeForKeyCode): Moved from KeyEventCocoa.mm. Updated code to make use of WTF_ARRAY_LENGTH() instead
of hardcoding the upper bound of the lookup table.

Source/WebKit:

For a hardware keyboard-generated event (an event with a non-nill event._hidEvent) pass
the key code for the event. Otherwise, do what we do now and pass 0 as the event is likely
a software keyboard-generated event.

* Platform/spi/ios/UIKitSPI.h: Add some more SPI.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView handleKeyEvent:]):

LayoutTests:

Update existing test and test result and add a new test to ensure we dispatch DOM keydown
and DOM keyup events dispatched for special keys.

* fast/events/ios/keydown-keyup-in-non-editable-content-expected.txt: Update expected result.
* fast/events/ios/keydown-keyup-in-non-editable-content.html: Remove logic to test arrow keys
as these are tested in test keydown-keyup-special-keys-in-non-editable-element.html. Also
update manual instructions to use <kbd> to format keyboard keys.
* fast/events/ios/keydown-keyup-special-keys-in-non-editable-element-expected.txt:

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

2 years agofeMorphology filter in CSS doesn't update when element moves
simon.fraser@apple.com [Mon, 24 Sep 2018 18:20:46 +0000 (18:20 +0000)]
feMorphology filter in CSS doesn't update when element moves
https://bugs.webkit.org/show_bug.cgi?id=189895

Reviewed by Dean Jackson.

Source/WebCore:

SourceAlpha needs to be invalidated from clearIntermediateResults(),
so get it from the SVGFilterBuilder (which always creates one) and store in
a member variable.

Test: css3/filters/invalidate-sourceAlpha.html

* rendering/CSSFilter.cpp:
(WebCore::CSSFilter::buildReferenceFilter):
(WebCore::CSSFilter::clearIntermediateResults):
* rendering/CSSFilter.h:
* svg/graphics/filters/SVGFilterBuilder.h:

LayoutTests:

Test that moves a box inside a filtered div. Masking is necessary to work
around bugs in feMorphology invalidation (webkit.org/b/189896).

* css3/filters/invalidate-sourceAlpha-expected.html: Added.
* css3/filters/invalidate-sourceAlpha.html: Added.

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

2 years agoCSS reference filter with feDisplacementMap shows buffer corruption on Retina displays
simon.fraser@apple.com [Mon, 24 Sep 2018 18:20:22 +0000 (18:20 +0000)]
CSS reference filter with feDisplacementMap shows buffer corruption on Retina displays
https://bugs.webkit.org/show_bug.cgi?id=188486
<rdar://problem/43189750>

Reviewed by Dean Jackson.
Source/WebCore:

The paintSize needs to be scaled by filterScale on Retina displays.

Test: css3/filters/hidpi-feDisplacementMap.html

* platform/graphics/filters/FEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::platformApplySoftware):
* platform/graphics/filters/FEDisplacementMap.h:

LayoutTests:

* css3/filters/hidpi-feDisplacementMap-expected.html: Added.
* css3/filters/hidpi-feDisplacementMap.html: Added.

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

2 years agoUnreviewed build fix for Jhbuild-using ports.
zandobersek@gmail.com [Mon, 24 Sep 2018 18:19:09 +0000 (18:19 +0000)]
Unreviewed build fix for Jhbuild-using ports.

* gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch:
Adjust the patch so it applies cleanly on the 1.14.3 version of the
gst-plugins-good package.

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

2 years agoReferenceFilterOperation doesn't need to store the FilterEffect
simon.fraser@apple.com [Mon, 24 Sep 2018 18:10:19 +0000 (18:10 +0000)]
ReferenceFilterOperation doesn't need to store the FilterEffect
https://bugs.webkit.org/show_bug.cgi?id=189904

Reviewed by Dean Jackson.

ReferenceFilterOperation doesn't do anything with m_filterEffect so don't store it.

* platform/graphics/filters/FilterOperation.cpp:
(WebCore::ReferenceFilterOperation::setFilterEffect): Deleted.
* platform/graphics/filters/FilterOperation.h:
(WebCore::ReferenceFilterOperation::filterEffect const): Deleted.
* rendering/CSSFilter.cpp:
(WebCore::CSSFilter::build):

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

2 years agoGarbled rendering of image when applied feConvolveMatrix to it, on Retina display
simon.fraser@apple.com [Mon, 24 Sep 2018 18:00:31 +0000 (18:00 +0000)]
Garbled rendering of image when applied feConvolveMatrix to it, on Retina display
https://bugs.webkit.org/show_bug.cgi?id=189748
<rdar://problem/44621494>

Reviewed by Jon Lee.
Source/WebCore:

feConvolveMatrix needs to scale the paintSize by the filter scale (2x on Retina displays),
otherwise parts of the output buffer are uninitialized and the result is incorrect.

Test: css3/filters/hidpi-feConvolveMatrix.html

* platform/graphics/filters/FEConvolveMatrix.cpp:
(WebCore::FEConvolveMatrix::platformApplySoftware):

LayoutTests:

* css3/filters/hidpi-feConvolveMatrix-expected.html: Added.
* css3/filters/hidpi-feConvolveMatrix.html: Added.

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

2 years agoWeb Inspector: topContentInset is not accounted for when inspecting a WKWebView and...
bburg@apple.com [Mon, 24 Sep 2018 17:37:47 +0000 (17:37 +0000)]
Web Inspector: topContentInset is not accounted for when inspecting a WKWebView and docked to side
https://bugs.webkit.org/show_bug.cgi?id=189859

Reviewed by Joseph Pecoraro.

* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
Add special cases for inspecting a WKWebView. We already special-case for WKView.

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

2 years agoEnsure PointerEvent is not visible when disabled
dino@apple.com [Mon, 24 Sep 2018 17:35:39 +0000 (17:35 +0000)]
Ensure PointerEvent is not visible when disabled
https://bugs.webkit.org/show_bug.cgi?id=189889
<rdar://problem/44708253>

Reviewed by Eric Carlson.

Source/WebCore:

Test: pointerevents/disabled.html

* bindings/js/WebCoreBuiltinNames.h: Now that it is enabled at runtime, it needs
a built-in name.
* dom/PointerEvent.idl: Add EnabledAtRuntime.

LayoutTests:

A test that explicitly disables PointerEvents and checks
that the interface is not visible.

* pointerevents/disabled-expected.html: Added.
* pointerevents/disabled.html: Added.

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

2 years ago[MSE][GStreamer] Pull demuxed samples in batches
aboya@igalia.com [Mon, 24 Sep 2018 17:26:03 +0000 (17:26 +0000)]
[MSE][GStreamer] Pull demuxed samples in batches
https://bugs.webkit.org/show_bug.cgi?id=189871

Reviewed by Xabier Rodriguez-Calvar.

After this patch, only the notifications of "new samples available"
(appsink-new-sample bus messages) travel from the streaming thread to
the main thread through the bus and the main thread is the responsible
of pulling as many samples as it can from appsink. Before, the samples
were pulled from appsink in the non-main thread and traveled to the
main thread through the bus one by one.

This reduces drastically the amount of context switches and waiting
time in the streaming thread, resulting in a noticeable performance
improvement.

This fixes stutter while loading YouTube videos.

* platform/graphics/gstreamer/MediaSampleGStreamer.cpp:
(WebCore::MediaSampleGStreamer::MediaSampleGStreamer):
* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::~AppendPipeline):
(WebCore::AppendPipeline::clearPlayerPrivate):
(WebCore::AppendPipeline::handleApplicationMessage):
(WebCore::AppendPipeline::appsinkNewSample):
(WebCore::AppendPipeline::consumeAppSinkAvailableSamples):
(WebCore::AppendPipeline::resetPipeline):
(WebCore::AppendPipeline::handleNewAppsinkSample):
* platform/graphics/gstreamer/mse/AppendPipeline.h:

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

2 years ago[ iOS ] Layout Tests in media/media-fragments/ are flaky - Remved Debug only as tests...
tsavell@apple.com [Mon, 24 Sep 2018 17:19:52 +0000 (17:19 +0000)]
[ iOS ] Layout Tests in media/media-fragments/ are flaky - Remved Debug only as tests are flakey on Release.
https://bugs.webkit.org/show_bug.cgi?id=187557

Unreviewed Test Gardening

* platform/ios/TestExpectations:

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

2 years ago[ iOS ] Layout Tests in media/media-fragments/ are flaky
tsavell@apple.com [Mon, 24 Sep 2018 17:16:58 +0000 (17:16 +0000)]
[ iOS ] Layout Tests in media/media-fragments/ are flaky
https://bugs.webkit.org/show_bug.cgi?id=187557

Unreviewed Test Gardening

* platform/ios/TestExpectations:

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

2 years agoUpdate flakiness dashboard configuration for iOS 12 queues
ryanhaddad@apple.com [Mon, 24 Sep 2018 17:13:05 +0000 (17:13 +0000)]
Update flakiness dashboard configuration for iOS 12 queues
https://bugs.webkit.org/show_bug.cgi?id=189688

Reviewed by Alexey Proskuryakov.

* TestResultServer/static-dashboards/builders.jsonp:

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

2 years agoImport html/webappapis/dynamic-markup-insertion WPT tests
cdumez@apple.com [Mon, 24 Sep 2018 16:55:25 +0000 (16:55 +0000)]
Import html/webappapis/dynamic-markup-insertion WPT tests
https://bugs.webkit.org/show_bug.cgi?id=189863

Reviewed by Youenn Fablet.

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/w3c-import.log: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/001-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/001.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/002-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/002.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/003-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/003.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/004-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/004.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/005-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/005.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/005.js: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/006-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/006.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/006.js: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/007-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/007.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/007.js: Added.
(t.step):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/008-1.js: Added.
(t.step):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/008-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/008.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/008.js: Added.
(t.step):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/009-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/009.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/010-1.js: Added.
(t.step):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/010-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/010.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/010.js: Added.
(t.step):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/011-1.js: Added.
(t.step):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/011-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/011.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/011.js: Added.
(t.step):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/012-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/012.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/012.js: Added.
(t.step):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/013-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/013.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/013.js: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/014-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/014.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/015-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/015.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/016-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/016.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/017-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/017.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/018-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/018.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/019-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/019.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/020-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/020.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/021-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/021.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/022-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/022.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/023-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/023.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/024-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/024.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/025-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/025.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/026-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/026.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/027-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/027.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/028-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/028.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/029-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/029.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/030-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/030.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/031-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/031.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/032-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/032.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/033-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/033.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/034-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/034.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/035-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/035.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/036-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/036.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/037-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/037.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/038-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/038.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/039-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/039.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/040-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/040.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/041-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/041.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/042-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/042.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/043-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/043.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/044-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/044.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/045-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/045.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/046-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/046.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/047-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/047.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/048-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/048.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/049-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/049.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/050-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/050.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/051-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/051.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.js: Added.
(string_appeared_here.forEach.val.async_test.t.frame.onload.t.step_func_done):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-01-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-02-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-02.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/empty.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_001-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_001.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_002-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_002.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_003-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_003.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_004-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_004.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_005-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.js: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_006-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_006.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_007-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_007.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_008-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_008.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_009-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_009.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_010-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_010.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-1.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-2.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-external.js: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/original-id.json: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_001-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_001.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_002-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_002.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_003-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_003.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_004-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_004.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_005-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_005.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_006-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_006.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_007-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_007.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_008-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_008.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_009-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_009.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_010-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_010.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_011-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_011.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_012-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_012.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_013-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_013.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/w3c-import.log: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/write-active-document-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/write-active-document.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-02-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-02.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-03-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-03.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/original-id.json: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/w3c-import.log: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/002-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/002.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/006-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/006.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011-1.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012-1.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013-1.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014-1.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-1.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-1.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-immediate.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-immediate.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-immediate.window.js: Added.
(async_test.t.frame.onload.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-header.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-header.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-header.window.js: Added.
(async_test.t.frame.onload.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-meta.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-meta.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-meta.window.js: Added.
(async_test.t.frame.onload.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-while-navigating.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-while-navigating.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-while-navigating.window.js: Added.
(async_test.t.frame.onload.t.step_func):
(async_test.t.t.step_timeout):
(async_test.t.t.step_timeout.t.step_func_done):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort.sub.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort.sub.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort.sub.window.js: Added.
(async_test.t.frame.onload.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.js: Added.
(async_test.t.window.handlers.afterOpen.t.step_func_done):
(async_test.t.window.handlers.afterOpenAsync.t.step_func_done):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/active.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/active.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/active.window.js: Added.
(assertOpenIsEffective):
(async_test.t.frame.onload.t.step_func):
(async_test.t.xhr.onload.t.step_func_done):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js: Added.
(setEntryToTopLevel):
(async_test.t.t.add_cleanup):
(async_test.t.iframe.onload.t.step_func_done):
(async_test.t.window.onCustomElementReady.t.step_func):
(async_test.t.self.testSynchronousScript.t.step_func):
(string_appeared_here.async_test.t.t.add_cleanup):
(string_appeared_here.async_test.t.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window.js: Added.
(async_test.t.t.add_cleanup):
(async_test.t.self.testSynchronousScript.t.step_func_done):
(string_appeared_here.async_test.t.t.add_cleanup):
(string_appeared_here.async_test.t.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-ignore-opens-during-unload.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-ignore-opens-during-unload.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-ignore-opens-during-unload.window.js: Added.
(string_appeared_here.async_test.t.iframe.onload.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window.js: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window.js: Added.
(async_test.t.self.testSynchronousScript.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window.js: Added.
(async_test.t.iframe.onload.t.step_func_done):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/beforeunload.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/beforeunload.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/beforeunload.window.js: Added.
(async_test.t.frame.onload.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window.js: Added.
(CustomElement):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window.js: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.js: Added.
(async_test.t.frame.onload.t.step_func):
(test.t.const.winListener.t.step_func):
(test.t.t.add_cleanup):
(test.t.const.bodyListener.t.step_func):
(async_test.t.xhr.onload.t.step_func_done):
(test.t.t.step_func):
(test.t.thrower.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history-state.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history-state.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history-state.window.js: Added.
(async_test.t.iframe.onload.t.step_func_done):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window.js: Added.
(window.onFrameLoaded.t.step_func):
(window.onDocumentOpen.t.step_func_done):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.js: Added.
(async_test.t.iframe.onload.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-observer.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-observer.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-observer.window.js: Added.
(async_test.t.t.add_cleanup):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/no-new-global.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/no-new-global.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/no-new-global.window.js: Added.
(async_test.t.frame.onload.t.step_func_done):
(testIdentity):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window.js: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/readiness.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/readiness.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/readiness.window.js: Added.
(async_test.t.t.add_cleanup):
(async_test.t.frame.onload.t.step_func_done):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/reload.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/reload.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/reload.window.js: Added.
(window.name.string_appeared_here.async_test.t.t.add_cleanup):
(window.name.string_appeared_here.async_test.t.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-async-frame.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-frame.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-custom-element-with-domain-frame.sub.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-synchronous-script-frame.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-synchronous-script-with-domain-frame.sub.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-xml-with-domain-frame.sub.xhtml: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-xml-with-synchronous-script-frame.xhtml: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/document-open-side-effects.js: Added.
(assertDocumentIsReadyForSideEffectsTest):
(assertOpenHasNoSideEffects):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/dummy.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/encoding-frame.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/global-variables-frame.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/history-frame.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/http-refresh.py: Added.
(main):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/meta-refresh.py: Added.
(main):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/page-with-frame.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/slow-png.py: Added.
(main):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/url-frame.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/w3c-import.log: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/tasks.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/tasks.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/tasks.window.js: Added.
(taskTest):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js: Added.
(string_appeared_here.forEach.type.async_test.t.frame.onload.t.step_func_done):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/unload.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/unload.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/unload.window.js: Added.
(async_test.t.frame.onload.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.js: Added.
(async_test.t.t.add_cleanup):
(async_test.t.self.onhashchange.t.step_func_done):
(async_test.t.const.frame.document.body.appendChild.document.createElement.string_appeared_here.t.add_cleanup):
(async_test.t.window.testDone.t.step_func_done):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window-expected.txt: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window.html: Added.
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window.js: Added.
(async_test.t.frame.onload.t.step_func):
* web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/w3c-import.log: Added.

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

2 years agoTry to make payment-response-reference-cycle-leak.https.html not be flaky.
aestes@apple.com [Mon, 24 Sep 2018 16:49:18 +0000 (16:49 +0000)]
Try to make payment-response-reference-cycle-leak.https.html not be flaky.

Unreviewed.

* http/tests/paymentrequest/payment-response-reference-cycle-leak.https.html:
Doubled the number of repetitions (from 40 to 80).

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

2 years ago[WebVTT] Change name of WebVTT region attribute 'height' to 'lines'.
pvollan@apple.com [Mon, 24 Sep 2018 16:39:04 +0000 (16:39 +0000)]
[WebVTT] Change name of WebVTT region attribute 'height' to 'lines'.
https://bugs.webkit.org/show_bug.cgi?id=189862

Reviewed by Eric Carlson.

Source/WebCore:

The WebVTT region attribute 'height' has been renamed to 'lines', see https://w3c.github.io/webvtt/#region-settings.

No new tests, covered by existing tests.

* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::setLines):
(WebCore::VTTRegion::updateParametersFromRegion):
(WebCore::VTTRegion::scanSettingName):
(WebCore::VTTRegion::parseSettingValue):
(WebCore::VTTRegion::prepareRegionDisplayTree):
(WebCore::VTTRegion::setHeight): Deleted.
* html/track/VTTRegion.h:
* html/track/VTTRegion.idl:

LayoutTests:

* media/track/captions-webvtt/captions-regions.vtt:
* media/track/captions-webvtt/header-regions.vtt:
* media/track/regions-webvtt/vtt-region-constructor-expected.txt:
* media/track/regions-webvtt/vtt-region-constructor.html:
* media/track/regions-webvtt/vtt-region-display-expected.txt:
* media/track/regions-webvtt/vtt-region-display.html:
* media/track/regions-webvtt/vtt-region-list-expected.txt:
* media/track/regions-webvtt/vtt-region-list.html:
* media/track/regions-webvtt/vtt-region-parser-expected.txt:
* media/track/regions-webvtt/vtt-region-parser.html:

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

2 years agoImport WPT resource-timing tests
yoav@yoav.ws [Mon, 24 Sep 2018 15:58:43 +0000 (15:58 +0000)]
Import WPT resource-timing tests
https://bugs.webkit.org/show_bug.cgi?id=189903

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

* web-platform-tests/resource-timing/META.yml: Added.
* web-platform-tests/resource-timing/OWNERS: Removed.
* web-platform-tests/resource-timing/clear_resource_timing_functionality.html: Added.
* web-platform-tests/resource-timing/clear_resource_timing_functionality-expected.txt: Added.
* web-platform-tests/resource-timing/idlharness.any.html: Added.
* web-platform-tests/resource-timing/idlharness.any-expected.txt: Added.
* web-platform-tests/resource-timing/idlharness.any.js: Added.
(idl_array.catch):
* web-platform-tests/resource-timing/idlharness.any.worker.html: Added.
* web-platform-tests/resource-timing/idlharness.any.worker-expected.txt: Added.
* web-platform-tests/resource-timing/idlharness.html: Removed.
* web-platform-tests/resource-timing/resource-timing-tojson.html: Added.
* web-platform-tests/resource-timing/resource-timing-tojson-expected.txt: Added.
* web-platform-tests/resource-timing/resource_TAO_cross_origin_redirect_chain.html: Added.
* web-platform-tests/resource-timing/resource_TAO_cross_origin_redirect_chain-expected.txt: Added.
* web-platform-tests/resource-timing/resource_TAO_match_origin.htm:
* web-platform-tests/resource-timing/resource_TAO_match_origin-expected.txt: Changed.
* web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm:
* web-platform-tests/resource-timing/resource_TAO_match_wildcard-expected.txt: Changed.
* web-platform-tests/resource-timing/resource_TAO_multi.htm:
* web-platform-tests/resource-timing/resource_TAO_multi-expected.txt: Changed.
* web-platform-tests/resource-timing/resource_TAO_multi_wildcard.html: Copied from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_multi.htm.
* web-platform-tests/resource-timing/resource_TAO_multi_wildcard-expected.txt: Added.
* web-platform-tests/resource-timing/resource_TAO_null.htm:
* web-platform-tests/resource-timing/resource_TAO_null-expected.txt: Changed.
* web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm:
* web-platform-tests/resource-timing/resource_TAO_origin_uppercase-expected.txt: Changed.
* web-platform-tests/resource-timing/resource_TAO_space.htm:
* web-platform-tests/resource-timing/resource_TAO_space-expected.txt: Changed.
* web-platform-tests/resource-timing/resource_TAO_wildcard.htm:
* web-platform-tests/resource-timing/resource_TAO_wildcard-expected.txt: Changed.
* web-platform-tests/resource-timing/resource_dedicated_worker.html: Added.
* web-platform-tests/resource-timing/resource_dedicated_worker-expected.txt: Added.
* web-platform-tests/resource-timing/resource_ignore_data_url.html: Added.
* web-platform-tests/resource-timing/resource_ignore_data_url-expected.txt: Added.
* web-platform-tests/resource-timing/resource_ignore_failures.html: Added.
* web-platform-tests/resource-timing/resource_ignore_failures-expected.txt: Added.
* web-platform-tests/resource-timing/resource_initiator_types.html: Added.
* web-platform-tests/resource-timing/resource_initiator_types-expected.txt: Added.
* web-platform-tests/resource-timing/resource_memory_cached.sub.html: Added.
* web-platform-tests/resource-timing/resource_memory_cached.sub-expected.txt: Added.
* web-platform-tests/resource-timing/resource_redirects.html: Added.
* web-platform-tests/resource-timing/resource_redirects-expected.txt: Added.
* web-platform-tests/resource-timing/resource_reparenting.html: Added.
* web-platform-tests/resource-timing/resource_reparenting-expected.txt: Added.
* web-platform-tests/resource-timing/resource_script_types.html: Added.
* web-platform-tests/resource-timing/resource_script_types-expected.txt: Added.
* web-platform-tests/resource-timing/resource_subframe_self_navigation.html: Added.
* web-platform-tests/resource-timing/resource_subframe_self_navigation-expected.txt: Added.
* web-platform-tests/resource-timing/resource_timing.worker.html: Added.
* web-platform-tests/resource-timing/resource_timing.worker-expected.txt: Added.
* web-platform-tests/resource-timing/resource_timing.worker.js: Added.
(check):
(async_test.t.then):
* web-platform-tests/resource-timing/resource_timing_TAO_cross_origin_redirect.html: Added.
* web-platform-tests/resource-timing/resource_timing_TAO_cross_origin_redirect-expected.txt: Added.
* web-platform-tests/resource-timing/resource_timing_buffer_full_eventually.html: Added.
* web-platform-tests/resource-timing/resource_timing_buffer_full_eventually-expected.txt: Added.
* web-platform-tests/resource-timing/resource_timing_buffer_full_when_populate_entries.html: Added.
* web-platform-tests/resource-timing/resource_timing_buffer_full_when_populate_entries-expected.txt: Added.
* web-platform-tests/resource-timing/resource_timing_buffer_full_when_shrink_buffer_size.html: Added.
* web-platform-tests/resource-timing/resource_timing_buffer_full_when_shrink_buffer_size-expected.txt: Added.
* web-platform-tests/resource-timing/resource_timing_cross_origin_redirect.html: Added.
* web-platform-tests/resource-timing/resource_timing_cross_origin_redirect-expected.txt: Added.
* web-platform-tests/resource-timing/resource_timing_cross_origin_redirect_chain.html: Added.
* web-platform-tests/resource-timing/resource_timing_cross_origin_redirect_chain-expected.txt: Added.
* web-platform-tests/resource-timing/resource_timing_same_origin_redirect.html: Added.
* web-platform-tests/resource-timing/resource_timing_same_origin_redirect-expected.txt: Added.
* web-platform-tests/resource-timing/resource_timing_store_and_clear_during_callback.html: Added.
* web-platform-tests/resource-timing/resource_timing_store_and_clear_during_callback-expected.txt: Added.
* web-platform-tests/resource-timing/resources/TAOResponse.py:
(main):
* web-platform-tests/resource-timing/resources/all_resource_types.htm: Added.
* web-platform-tests/resource-timing/resources/blank_page_green.htm: Added.
* web-platform-tests/resource-timing/resources/empty.js: Added.
* web-platform-tests/resource-timing/resources/empty.py: Added.
(main):
* web-platform-tests/resource-timing/resources/empty_script.js: Added.
* web-platform-tests/resource-timing/resources/eventsource.py: Added.
(main):
* web-platform-tests/resource-timing/resources/green_frame.htm: Added.
* web-platform-tests/resource-timing/resources/iframe_TAO_multi_wildcard.html: Added.
* web-platform-tests/resource-timing/resources/multi_redirect.py: Added.
(main):
* web-platform-tests/resource-timing/resources/nested.css: Added.
(@import "resource_timing_test0.css?id=n1";):
(ol):
* web-platform-tests/resource-timing/resources/notify_parent.html: Added.
* web-platform-tests/resource-timing/resources/self_navigation.html: Added.
* web-platform-tests/resource-timing/resources/w3c-import.log:
* web-platform-tests/resource-timing/resources/worker_with_images.js: Added.
(checkDone):
(makeRequest.xhr.onreadystatechange):
(makeRequest):
* web-platform-tests/resource-timing/w3c-import.log:

LayoutTests:

* TestExpectations:: Added a few failing tests.
* platform/mac/TestExpectations:: Added a timeout test.

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

2 years ago[GTK][WPE] Compositing indicators are not working
magomez@igalia.com [Mon, 24 Sep 2018 15:47:19 +0000 (15:47 +0000)]
[GTK][WPE] Compositing indicators are not working
https://bugs.webkit.org/show_bug.cgi?id=189915

Reviewed by Žan Doberšek.

Pass the debugBorder and repaintCount parameters to the TextureMapperLayer when required.

* Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:
(WebKit::CoordinatedGraphicsScene::updateSceneState):

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

2 years ago[GStreamer] Unreviewed build fix.
aboya@igalia.com [Mon, 24 Sep 2018 15:28:25 +0000 (15:28 +0000)]
[GStreamer] Unreviewed build fix.

A GStreamer patch was not applying cleanly on 1.14.3.

* gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch:

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

2 years ago[MSE][GStreamer] Use no-more-pads event for noticing initialization segments
aboya@igalia.com [Mon, 24 Sep 2018 13:31:19 +0000 (13:31 +0000)]
[MSE][GStreamer] Use no-more-pads event for noticing initialization segments
https://bugs.webkit.org/show_bug.cgi?id=189868

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Fixes the following YTTV 2018 tests:
62.VideoDimensionVP9
63.PlaybackStateVP9

This removes the hack that was making supporting multiple tracks in
the same file in MSE impossible.

For WebM, this GStreamer patch is required:
https://bugzilla.gnome.org/show_bug.cgi?id=797187
"matroskademux: Emit no-more-pads after parsing Tracks"

* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::handleApplicationMessage):
(WebCore::AppendPipeline::demuxerNoMorePads):
(WebCore::AppendPipeline::appsinkCapsChanged):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):
(WebCore::AppendPipeline::appendPipelineDemuxerNoMorePadsFromAnyThread):
(WebCore::appendPipelineDemuxerNoMorePads):
* platform/graphics/gstreamer/mse/AppendPipeline.h:

Tools:

Added patch from https://bugzilla.gnome.org/show_bug.cgi?id=797187

* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Added.

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

2 years ago[MSE][GStreamer] Add patch to jhbuild: matroskademux: Allow Matroska headers to be...
aboya@igalia.com [Mon, 24 Sep 2018 12:34:19 +0000 (12:34 +0000)]
[MSE][GStreamer] Add patch to jhbuild: matroskademux: Allow Matroska headers to be read more than once
https://bugs.webkit.org/show_bug.cgi?id=185731

Reviewed by Xabier Rodriguez-Calvar.

Upstream bug in GStreamer: https://bugzilla.gnome.org/show_bug.cgi?id=793333

This fixes YTTV 35. AppendMultipleInitOpusAudio (and any other use
case where two WebM initialization segments are appended on a row).

* gstreamer/jhbuild.modules:
* gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Added.
* gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Added.
* gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Added.

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

2 years ago[WPE][GTK][WebRTC] Fix leaks in the libwebrtc Decoder and Encoder
commit-queue@webkit.org [Mon, 24 Sep 2018 11:16:58 +0000 (11:16 +0000)]
[WPE][GTK][WebRTC] Fix leaks in the libwebrtc Decoder and Encoder
https://bugs.webkit.org/show_bug.cgi?id=189835

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-09-24
Reviewed by Philippe Normand.

- Rework memory management to avoid leaking encoded frames (basically use the same
  strategy as other libwebrtc encoder implementation).
- Plug a GstCaps leak.

* platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
* platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp:
* platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:
(WebCore::GStreamerVideoEncoder::InitEncode):
(WebCore::GStreamerVideoEncoder::newSampleCallback):
(WebCore::GStreamerVideoEncoder::Fragmentize):
(WebCore::GStreamerVideoEncoder::SetRestrictionCaps):

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

2 years ago[GStreamer] Utilities cleanups
philn@webkit.org [Mon, 24 Sep 2018 10:20:38 +0000 (10:20 +0000)]
[GStreamer] Utilities cleanups
https://bugs.webkit.org/show_bug.cgi?id=189699
<rdar://problem/44634143>

Reviewed by Xabier Rodriguez-Calvar.

The GstMappedBuffer now has a move constructor so that it can be easily
reused in the webaudiosrc element. The now-unused corresponding
buffer-mapping utilities are removed from the code-base.

The HTTP source element used to handle a GstBuffer in its private
structure but this is no longer required since data is now pushed
in chunks, see bug #182829.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcLoop):
* platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::createGstBuffer): Deleted.
(WebCore::createGstBufferForData): Deleted.
(WebCore::getGstBufferDataPointer): Deleted.
(WebCore::mapGstBuffer): Deleted.
(WebCore::unmapGstBuffer): Deleted.
* platform/graphics/gstreamer/GStreamerCommon.h:
(WebCore::GstMappedBuffer::create): New method returning a
reference to a newly created GstMappedBuffer instance.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStop): Remove reference to unused GstBuffer.
(CachedResourceStreamingClient::dataReceived): Ditto.

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

2 years ago[MSE][GStreamer] Don't update duration when it was not previously NaN
eocanha@igalia.com [Mon, 24 Sep 2018 10:16:10 +0000 (10:16 +0000)]
[MSE][GStreamer] Don't update duration when it was not previously NaN
https://bugs.webkit.org/show_bug.cgi?id=189869

Reviewed by Xabier Rodriguez-Calvar.

This is what the spec mandates. The spec doesn't say anything about
updating duration when it had been previously set, even if the new
init segment says that the duration is growing.

This fixes MSE YTTV 2018 69.MediaSourceDurationVP9.

* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):

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

2 years agoAdd missing includes in TextCodecReplacement.cpp
commit-queue@webkit.org [Sun, 23 Sep 2018 20:52:26 +0000 (20:52 +0000)]
Add missing includes in TextCodecReplacement.cpp
https://bugs.webkit.org/show_bug.cgi?id=189894

Patch by Frederic Wang <fwang@igalia.com> on 2018-09-23
Reviewed by Darin Adler.

No new tests, behavior unchanged.

* platform/text/TextCodecReplacement.cpp: Add missing headers.

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

2 years agoUnreviewed - Skip pointer events tests on legacy WebKit.
dino@apple.com [Sun, 23 Sep 2018 04:49:50 +0000 (04:49 +0000)]
Unreviewed - Skip pointer events tests on legacy WebKit.

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

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

2 years ago[ARM] Building FELightingNEON.cpp fails due to missing lightVector member
aperez@igalia.com [Sun, 23 Sep 2018 04:22:50 +0000 (04:22 +0000)]
[ARM] Building FELightingNEON.cpp fails due to missing lightVector member
https://bugs.webkit.org/show_bug.cgi?id=189890

Reviewed by Darin Adler.

No new tests needed.

* platform/graphics/cpu/arm/filters/FELightingNEON.h:
(WebCore::FELighting::platformApplyNeon): Adapt to new layout of "struct PaintingData" after r225122.

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

2 years ago[WHSL] Need grammar to specify kernel group size
mmaxfield@apple.com [Sat, 22 Sep 2018 23:49:28 +0000 (23:49 +0000)]
[WHSL] Need grammar to specify kernel group size
https://bugs.webkit.org/show_bug.cgi?id=189108

Reviewed by Dean Jackson.

In HLSL, compute functions are annotated with their workgroup size.
For example,

[numthreads(3, 4, 5)] compute void foo(...) { ... }

* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/Func.js:
(Func):
(Func.prototype.get attributeBlock):
* WebGPUShadingLanguageRI/FuncAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
(FuncAttribute):
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef):
* WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.
(FuncNumThreadsAttribute):
(FuncNumThreadsAttribute.prototype.get x):
(FuncNumThreadsAttribute.prototype.get y):
(FuncNumThreadsAttribute.prototype.get z):
* WebGPUShadingLanguageRI/LateChecker.js:
(LateChecker.prototype._checkShaderType):
* WebGPUShadingLanguageRI/Parse.js:
(parseAttributeBlock):
(parseFuncDecl):
(parseFuncDef):
(parseNativeFunc):
* WebGPUShadingLanguageRI/SPIRV.html:
* WebGPUShadingLanguageRI/StatementCloner.js:
(StatementCloner.prototype.visitFuncDef):
(StatementCloner.prototype.visitFuncNumThreadsAttribute):
(StatementCloner):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(tests.numThreads):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitFunc):
(Visitor.prototype.visitFuncNumThreadsAttribute):
(Visitor):
* WebGPUShadingLanguageRI/index.html:

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

2 years agoTests checking document GC in case of ActiveDOMObjects are flaky
youenn@apple.com [Sat, 22 Sep 2018 23:42:53 +0000 (23:42 +0000)]
Tests checking document GC in case of ActiveDOMObjects are flaky
https://bugs.webkit.org/show_bug.cgi?id=189413
<rdar://problem/44243231>

Reviewed by Eric Carlson.

Media controls prevent in some cases to collect the document.
Remove the controls to remove a source of flakiness for this test.

* http/tests/media/clearkey/resources/mywebkitmediasessionframe.htm:
* platform/mac/TestExpectations:

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

2 years agoNative functions which accept pointers need to do null checks
mmaxfield@apple.com [Sat, 22 Sep 2018 23:34:50 +0000 (23:34 +0000)]
Native functions which accept pointers need to do null checks
https://bugs.webkit.org/show_bug.cgi?id=189883

Reviewed by Dean Jackson.

Simply guard all the places where we write through an author-provided pointer.

* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.):
* WebGPUShadingLanguageRI/Test.js:
(tests.textureDimensionsNull):

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

2 years ago[WHLSL] Implement atomic operations and barriers
mmaxfield@apple.com [Sat, 22 Sep 2018 23:22:55 +0000 (23:22 +0000)]
[WHLSL] Implement atomic operations and barriers
https://bugs.webkit.org/show_bug.cgi?id=189025

Reviewed by Dean Jackson.

In the interpreter, atomic operations don't need to be atomic.

* WebGPUShadingLanguageRI/Intrinsics.js:
(Intrinsics.):
* WebGPUShadingLanguageRI/StandardLibrary.js:
(let.standardLibrary):
* WebGPUShadingLanguageRI/Test.js:
(tests.atomics):

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

2 years ago[Cairo] Null-check cairo_pattern_t gradient objects
zandobersek@gmail.com [Sat, 22 Sep 2018 12:54:45 +0000 (12:54 +0000)]
[Cairo] Null-check cairo_pattern_t gradient objects
https://bugs.webkit.org/show_bug.cgi?id=189820

Reviewed by Alex Christensen.

Cairo-specific implementation of Gradient::createPlatformGradient() can
now return a nullptr value when a conic gradient is described by the
Gradient object. Cairo doesn't have a way to create cairo_pattern_t
objects for such gradients.

Null-checks are now done on return values of createPlatformGradient(),
in order to avoid proceeding to paint a null cairo_pattern_t object.

* platform/graphics/cairo/GradientCairo.cpp:
(WebCore::Gradient::fill):
* platform/graphics/cairo/GraphicsContextImplCairo.cpp:
(WebCore::GraphicsContextImplCairo::fillRect):

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

2 years ago[WPE] Be very permissive in the MiniBrowser.
commit-queue@webkit.org [Sat, 22 Sep 2018 12:43:35 +0000 (12:43 +0000)]
[WPE] Be very permissive in the MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=189800

This is just a test tool and we should make
it just work, security and privacy is not really
a primary focus here.

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-09-22
Reviewed by Žan Doberšek.

* MiniBrowser/wpe/main.cpp:
(decidePermissionRequest):
(main):

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

2 years agoCannot start a drag inside a shadow tree when an inclusive-ancestor of its shadow...
rniwa@webkit.org [Sat, 22 Sep 2018 08:13:52 +0000 (08:13 +0000)]
Cannot start a drag inside a shadow tree when an inclusive-ancestor of its shadow host is a draggable element
https://bugs.webkit.org/show_bug.cgi?id=136836

Reviewed by Wenson Hsieh.

Source/WebCore:

Fixed the bug by simply generalizing the existing code path existed for video / input type=color.

Tests: fast/shadow-dom/dragging-element-inside-shadow-tree.html
       fast/shadow-dom/dragging-element-with-shadow-tree.html

* page/DragController.cpp:
(WebCore::DragController::startDrag):

LayoutTests:

Added regression tests for dragging a element with a shadow tree, which is fixed in this bug
as well as dragging an element inside a shadow tree, which was already functional but had no tests.

* TestExpectations:
* fast/shadow-dom/dragging-element-inside-shadow-tree-expected.txt: Added.
* fast/shadow-dom/dragging-element-inside-shadow-tree.html: Added.
* fast/shadow-dom/dragging-element-with-shadow-tree-expected.txt: Added.
* fast/shadow-dom/dragging-element-with-shadow-tree.html: Added.
* platform/ios/TestExpectations: Don't mark the entirety of fast/shadow-dom as PASS.
* platform/mac-wk1/TestExpectations:

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

2 years agoFontDataCache should use Ref<Font> instead of a RefPtr<Font>
cdumez@apple.com [Sat, 22 Sep 2018 07:56:20 +0000 (07:56 +0000)]
FontDataCache should use Ref<Font> instead of a RefPtr<Font>
https://bugs.webkit.org/show_bug.cgi?id=189861

Reviewed by Antti Koivisto.

* platform/graphics/FontCache.cpp:
(WebCore::FontCache::fontForPlatformData):
(WebCore::FontCache::purgeInactiveFontData):

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

2 years agoThe sampling should not use Strong<CodeBlock> in its machineLocation field
sbarati@apple.com [Sat, 22 Sep 2018 07:28:39 +0000 (07:28 +0000)]
The sampling should not use Strong<CodeBlock> in its machineLocation field
https://bugs.webkit.org/show_bug.cgi?id=189319

Reviewed by Filip Pizlo.

JSTests:

* stress/sampling-profiler-richards.js: Added.

Source/JavaScriptCore:

The sampling profiler has a CLI mode where we gather information about inline
call frames. That data structure was using a Strong<CodeBlock>. We were
constructing this Strong<CodeBlock> during GC concurrently to processing all
the Strong handles. This is a bug since we end up corrupting that data
structure. This patch fixes this by just making this data structure use the
sampling profiler's mechanism for holding onto and properly visiting heap pointers.

* inspector/agents/InspectorScriptProfilerAgent.cpp:
(Inspector::InspectorScriptProfilerAgent::trackingComplete):
* runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):

(JSC::SamplingProfiler::reportTopFunctions):
(JSC::SamplingProfiler::reportTopBytecodes):
These CLI helpers needed a DeferGC otherwise we may end up deadlocking when we
cause a GC to happen while already holding the sampling profiler's
lock.

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

2 years ago[JSC] Enable LLInt ASM interpreter on X64 and ARM64 in non JIT configuration
yusukesuzuki@slowstart.org [Sat, 22 Sep 2018 05:26:44 +0000 (05:26 +0000)]
[JSC] Enable LLInt ASM interpreter on X64 and ARM64 in non JIT configuration
https://bugs.webkit.org/show_bug.cgi?id=189778

Reviewed by Keith Miller.

.:

ENABLE_SAMPLING_PROFILER does not depend on ENABLE_JIT now since it can be
used with LLInt ASM interpreter.

* Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

LLInt ASM interpreter is 2x and 15% faster than CLoop interpreter on
Linux and macOS respectively. We would like to enable it for non JIT
configurations in X86_64 and ARM64.

This patch enables LLInt for non JIT builds in X86_64 and ARM64 architectures.
Previously, we switch LLInt ASM interpreter and CLoop by using ENABLE(JIT)
configuration. But it is wrong in the new scenario since we have a build
configuration that uses LLInt ASM interpreter and JIT is disabled. We introduce
ENABLE(C_LOOP) option, which represents that we use CLoop. And we replace
ENABLE(JIT) with ENABLE(C_LOOP) if the previous ENABLE(JIT) is essentially just
related to LLInt ASM interpreter and not related to JIT.

We also replace some ENABLE(JIT) configurations with ENABLE(ASSEMBLER).
ENABLE(ASSEMBLER) is now enabled even if we disable JIT since MacroAssembler
has machine register information that is used in LLInt ASM interpreter.

* API/tests/PingPongStackOverflowTest.cpp:
(testPingPongStackOverflow):
* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/MaxFrameExtentForSlowPathCall.h:
* bytecode/CallReturnOffsetToBytecodeOffset.h: Removed. It is no longer used.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::calleeSaveRegisters const):
(JSC::CodeBlock::numberOfLLIntBaselineCalleeSaveRegisters):
(JSC::CodeBlock::llintBaselineCalleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::calleeSaveSpaceAsVirtualRegisters):
* bytecode/Opcode.h:
(JSC::padOpcodeName):
* heap/Heap.cpp:
(JSC::Heap::gatherJSStackRoots):
(JSC::Heap::stopThePeriphery):
* interpreter/CLoopStack.cpp:
* interpreter/CLoopStack.h:
* interpreter/CLoopStackInlines.h:
* interpreter/EntryFrame.h:
* interpreter/Interpreter.cpp:
(JSC::Interpreter::Interpreter):
(JSC::UnwindFunctor::copyCalleeSavesToEntryFrameCalleeSavesBuffer const):
* interpreter/Interpreter.h:
* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::calleeSaveRegisters):
* interpreter/VMEntryRecord.h:
* jit/ExecutableAllocator.h:
* jit/FPRInfo.h:
(WTF::printInternal):
* jit/GPRInfo.cpp:
* jit/GPRInfo.h:
(WTF::printInternal):
* jit/HostCallReturnValue.cpp:
(JSC::getHostCallReturnValueWithExecState): Moved. They are used in LLInt ASM interpreter too.
* jit/HostCallReturnValue.h:
* jit/JITOperations.cpp:
(JSC::getHostCallReturnValueWithExecState): Deleted.
* jit/JITOperationsMSVC64.cpp:
* jit/Reg.cpp:
* jit/Reg.h:
* jit/RegisterAtOffset.cpp:
* jit/RegisterAtOffset.h:
* jit/RegisterAtOffsetList.cpp:
* jit/RegisterAtOffsetList.h:
* jit/RegisterMap.h:
* jit/RegisterSet.cpp:
* jit/RegisterSet.h:
* jit/TempRegisterSet.cpp:
* jit/TempRegisterSet.h:
* llint/LLIntCLoop.cpp:
* llint/LLIntCLoop.h:
* llint/LLIntData.cpp:
(JSC::LLInt::initialize):
(JSC::LLInt::Data::performAssertions):
* llint/LLIntData.h:
* llint/LLIntOfflineAsmConfig.h:
* llint/LLIntOpcode.h:
* llint/LLIntPCRanges.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
* llint/LLIntThunks.cpp:
* llint/LowLevelInterpreter.cpp:
* llint/LowLevelInterpreter.h:
* runtime/JSCJSValue.h:
* runtime/MachineContext.h:
* runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces): Enable SamplingProfiler
for LLInt ASM interpreter with non JIT configuration.
* runtime/TestRunnerUtils.cpp:
(JSC::optimizeNextInvocation):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::getHostFunction):
(JSC::VM::updateSoftReservedZoneSize):
(JSC::sanitizeStackForVM):
(JSC::VM::committedStackByteCount):
* runtime/VM.h:
* runtime/VMInlines.h:
(JSC::VM::ensureStackCapacityFor):
(JSC::VM::isSafeToRecurseSoft const):

Source/WTF:

This patch adds ENABLE(C_LOOP) which indicates we use CLoop as the interpreter.
Previously, we used !ENABLE(JIT) for this configuration. But now, we have
a build configuration that has LLInt ASM interpreter (not CLoop) and !ENABLE(JIT).

We enable LLInt ASM interpreter for non JIT environment in X86_64 and ARM64 architectures.
And we enable ENABLE(ASSEMBLER) for non JIT environment since it offers machine register
information which is used for LLInt and SamplingProfiler.

* wtf/Platform.h:

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

2 years agoWeb Inspector: REGRESSION(r236336): computed CSSProperty doesn't have a value for...
drousso@apple.com [Sat, 22 Sep 2018 02:03:51 +0000 (02:03 +0000)]
Web Inspector: REGRESSION(r236336): computed CSSProperty doesn't have a value for _text
https://bugs.webkit.org/show_bug.cgi?id=189864

Reviewed by Joseph Pecoraro.

* inspector/css/pseudo-element-matches-for-pseudo-element-node.html:

`CSS.types.CSSComputedStyleProperty` doesn't include a `text` value, which was used to print
 each property's text. Modify the test to generate it's own text via `name` and `value`.

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

2 years agoImplement initialValue support for CSS Custom Properties and Values API
commit-queue@webkit.org [Sat, 22 Sep 2018 01:03:48 +0000 (01:03 +0000)]
Implement initialValue support for CSS Custom Properties and Values API
https://bugs.webkit.org/show_bug.cgi?id=189819

Patch by Justin Michaud <justin_michaud@apple.com> on 2018-09-21
Reviewed by Simon Fraser.

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::customPropertyValue):
* css/CSSCustomPropertyValue.cpp:
(WebCore::CSSCustomPropertyValue::resolveVariableReferences const):
* css/CSSCustomPropertyValue.h:
* css/CSSRegisteredCustomProperty.h:
* css/CSSVariableData.cpp:
(WebCore::CSSVariableData::resolveVariableFallback const):
(WebCore::CSSVariableData::resolveVariableReference const):
(WebCore::CSSVariableData::resolveVariableReferences const):
(WebCore::CSSVariableData::resolveTokenRange const):
* css/CSSVariableData.h:
* css/DOMCSSRegisterCustomProperty.cpp:
(WebCore::DOMCSSRegisterCustomProperty::registerProperty):
* css/DOMCSSRegisterCustomProperty.h:
* css/DOMCSSRegisterCustomProperty.idl:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::resolvedVariableValue):
(WebCore::StyleResolver::applyCascadedProperties):
* css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseValueWithVariableReferences):
* css/parser/CSSParser.h:
* dom/Document.h:
(WebCore::Document::getCSSRegisteredCustomPropertySet const):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::checkVariablesInCustomProperties):
* rendering/style/RenderStyle.h:

LayoutTests:

* css-custom-properties-api/initialValue-expected.html: Added.
* css-custom-properties-api/initialValue.html: Added.
* css-custom-properties-api/initialValueJS-expected.txt: Added.
* css-custom-properties-api/initialValueJS.html: Added.
* css-custom-properties-api/registerProperty-expected.txt:
* css-custom-properties-api/registerProperty.html:
* platform/win/TestExpectations:

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

2 years agoAdd PointerEvent, plus feature flag, plus Web Platform Tests
dino@apple.com [Sat, 22 Sep 2018 00:51:47 +0000 (00:51 +0000)]
Add PointerEvent, plus feature flag, plus Web Platform Tests
https://bugs.webkit.org/show_bug.cgi?id=189867
<rdar://problem/44697384>

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Import the Web Platform Tests for Pointer Events.

* resources/import-expectations.json:
* web-platform-tests/pointerevents/META.yml: Added.
* web-platform-tests/pointerevents/README.md: Added.
* web-platform-tests/pointerevents/extension/idlharness.window-expected.txt: Added.
* web-platform-tests/pointerevents/extension/idlharness.window.html: Added.
* web-platform-tests/pointerevents/extension/idlharness.window.js: Added.
* web-platform-tests/pointerevents/extension/pointerevent_constructor-expected.txt: Added.
* web-platform-tests/pointerevents/extension/pointerevent_constructor.html: Added.
* web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification-expected.txt: Added.
* web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification.html: Added.
* web-platform-tests/pointerevents/extension/w3c-import.log: Added.
* web-platform-tests/pointerevents/idlharness.window-expected.txt: Added.
* web-platform-tests/pointerevents/idlharness.window.html: Added.
* web-platform-tests/pointerevents/idlharness.window.js: Added.
* web-platform-tests/pointerevents/pointerevent_constructor-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_constructor.html: Added.
* web-platform-tests/pointerevents/pointerevent_on_event_handlers-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_on_event_handlers.html: Added.
* web-platform-tests/pointerevents/pointerevent_styles.css: Added.
* web-platform-tests/pointerevents/pointerevent_support.js: Added.
* web-platform-tests/pointerevents/pointerevent_touch-action-illegal-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_touch-action-illegal.html: Added.
* web-platform-tests/pointerevents/pointerevent_touch-action-verification-expected.txt: Added.
* web-platform-tests/pointerevents/pointerevent_touch-action-verification.html: Added.
* web-platform-tests/pointerevents/pointerlock/resources/pointerevent_movementxy-iframe.html: Added.
* web-platform-tests/pointerevents/pointerlock/resources/w3c-import.log: Added.
* web-platform-tests/pointerevents/resources/pointerevent_attributes_hoverable_pointers-iframe.html: Added.
* web-platform-tests/pointerevents/resources/pointerevent_fractional_coordinates-iframe.html: Added.
* web-platform-tests/pointerevents/resources/pointerevent_pointerId_scope-iframe.html: Added.
* web-platform-tests/pointerevents/resources/w3c-import.log: Added.
* web-platform-tests/pointerevents/w3c-import.log: Added.

Source/WebCore:

Add the PointerEvent interface.

Tests: imported/w3c/web-platform-tests/pointerevents/extension/idlharness.window.html
       imported/w3c/web-platform-tests/pointerevents/extension/pointerevent_constructor.html
       imported/w3c/web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification.html
       imported/w3c/web-platform-tests/pointerevents/idlharness.window.html
       imported/w3c/web-platform-tests/pointerevents/pointerevent_constructor.html
       imported/w3c/web-platform-tests/pointerevents/pointerevent_on_event_handlers.html
       imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-illegal.html
       imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-verification.html

* DerivedSources.make:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
        Add the new files.

* dom/Event.h:
(WebCore::Event::isPointerEvent const): New virtual identification method.

* dom/EventNames.in: Add PointerEvent so the InterfaceType code is generated.

* dom/PointerEvent.cpp: The PointerEvent interface, as specified by W3C.
(WebCore::PointerEvent::PointerEvent):
(WebCore::PointerEvent::eventInterface const):
* dom/PointerEvent.h: Added.
* dom/PointerEvent.idl: Added.

* page/RuntimeEnabledFeatures.h: Clean up the ordering of the features, so there aren't
confusing blank lines interspersed with #if USE macros.
(WebCore::RuntimeEnabledFeatures::setPointerEventsEnabled): Add a new flag for Pointer Events.
(WebCore::RuntimeEnabledFeatures::pointerEventsEnabled const):

Source/WebKit:

Add PointerEvents as an experimental feature.

* Shared/WebPreferences.yaml:

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

2 years ago[macOS EWS] Layout test accessibility/smart-invert-reference.html is a flaky failure
ryanhaddad@apple.com [Sat, 22 Sep 2018 00:18:17 +0000 (00:18 +0000)]
[macOS EWS] Layout test accessibility/smart-invert-reference.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189818

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations: Mark test as flaky.

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

2 years agoCustom elements in a reaction queue can lose its JS wrapper and become HTMLUnknownElement
rniwa@webkit.org [Sat, 22 Sep 2018 00:17:17 +0000 (00:17 +0000)]
Custom elements in a reaction queue can lose its JS wrapper and become HTMLUnknownElement
https://bugs.webkit.org/show_bug.cgi?id=184307

Reviewed by Keith Miller.

Source/WebCore:

The bug was caused by the custom elements reaction queue not reporting its content to GC during marking.

When there is no JS reference to the JS wrappers of those custom element, and if those custom elements
are disconnected, GC would happily collect those the wrappers. Unfortunately, the same bug exists for
any asynchronous events and other WebCore code which keeps elements alive for a later use but doesn't
report them to GC (e.g. during visitChildren).

This patch, therefore, introduces a generic mechanism to keep these elements' wrappers alive. Namely,
we introduce GCReachableRef, a new smart pointer type for Node's subclasses, which keeps element as well
as its wrappers alive. GCReachableRef works by adding its Node to a global hash counted set when it's
created and making JSNodeOwner::isReachableFromOpaqueRoots return true when the node is in the set.

Test: fast/custom-elements/custom-elements-reaction-queue-retains-js-wrapper.html

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSNodeCustom.cpp:
(WebCore::isReachableFromDOM):
* dom/CustomElementReactionQueue.cpp:
(WebCore::CustomElementReactionQueue::ElementQueue::invokeAll): Don't swap the vector of elements in
in the queue. Assuming each DOM API has an appropriate CustomElementsReactionStack, we should never
append a new element to this queue while invoking custom element reactions.
* dom/CustomElementReactionQueue.h:
* dom/GCReachableRef.cpp: Added.
* dom/GCReachableRef.h: Added.
(WebCore::GCReachableRefMap::contains): Added.
(WebCore::GCReachableRefMap::add): Added.
(WebCore::GCReachableRefMap::remove): Added.
(WebCore::GCReachableRef::GCReachableRef): Added. We need isNull() check since WTFMove may have been
called on the source GCReachableRef.
(WebCore::GCReachableRef::~GCReachableRef): Ditto.
(WebCore::GCReachableRef::operator-> const): Added.
(WebCore::GCReachableRef::get const): Added.
(WebCore::GCReachableRef::operator T& const): Added.
(WebCore::GCReachableRef::operator! const): Added.
(WebCore::GCReachableRef::isNull const): Added. Returns true if WTFMove had been called on Ref.

LayoutTests:

Added a test for enqueuing a lot of custom elements into the reaction queue via innerHTML setter.
WebKit should retain the JS wrappers of all custom elements.

* fast/custom-elements/custom-elements-reaction-queue-retains-js-wrapper-expected.txt: Added.
* fast/custom-elements/custom-elements-reaction-queue-retains-js-wrapper.html: Added.

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

2 years agoWeb Inspector: dock buttons disappear if Web Inspector goes fullscreen
bburg@apple.com [Sat, 22 Sep 2018 00:14:05 +0000 (00:14 +0000)]
Web Inspector: dock buttons disappear if Web Inspector goes fullscreen
https://bugs.webkit.org/show_bug.cgi?id=189865
<rdar://problem/42600534>

Reviewed by Matt Baker.

When a fullscreen Safari tab has a docked Inspector, and the "detach" button
is clicked, Inspector goes into its own fullscreen window. In that window,
there are no buttons for docking to side or bottom.

It turns out that we always send setDockingUnavailable(true) if the inspector
window is fullscreen. This eventually causes the inspector to reflect that
by hiding the docking-related buttons.

* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCanAttach):
This early exit does not seem to serve any purpose, so remove it.

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

2 years agoAdd Promise SPI
keith_miller@apple.com [Fri, 21 Sep 2018 23:38:25 +0000 (23:38 +0000)]
Add Promise SPI
https://bugs.webkit.org/show_bug.cgi?id=189809

Reviewed by Saam Barati.

Source/JavaScriptCore:

The Patch adds new SPI to create promises. It's mostly SPI because
I want to see how internal users react to it before we make it
public.

This patch adds a couple of new Obj-C SPI methods. The first
creates a new promise using the same API that JS does where the
user provides an executor callback. If an exception is raised
in/to that callback the promise is automagically rejected. The
other methods create a pre-resolved or rejected promise as this
appears to be a common way to initialize a promise.

I was also considering adding a second version of executor API
where it would catch specific Obj-C exceptions. This would work by
taking a Class paramter and checking isKindOfClass: on the
exception. I decided against this as nothing else in our API
handles Obj-C exceptions. I'm pretty sure the VM will end up in a
corrupt state if an Obj-C exception unwinds through JS frames.

This patch adds a new C function that will create a "deferred"
promise. A deferred promise is a style of creating promise/futures
where the resolve and reject functions are passed as outputs of a
function. I went with this style for the C SPI because we don't have
any concept of forwarding exceptions in the C API.

In order to make the C API work I refactored a bit of the promise code
so that we can call a static method on JSDeferredPromise and just get
the components without allocating an extra cell wrapper.

* API/JSContext.mm:
(+[JSContext currentCallee]):
* API/JSObjectRef.cpp:
(JSObjectMakeDeferredPromise):
* API/JSObjectRefPrivate.h:
* API/JSValue.mm:
(+[JSValue valueWithNewPromiseInContext:fromExecutor:]):
(+[JSValue valueWithNewPromiseResolvedWithResult:inContext:]):
(+[JSValue valueWithNewPromiseRejectedWithReason:inContext:]):
* API/JSValuePrivate.h: Added.
* API/JSVirtualMachine.mm:
* API/JSVirtualMachinePrivate.h:
* API/tests/testapi.c:
(main):
* API/tests/testapi.cpp:
(APIContext::operator JSC::ExecState*):
(TestAPI::failed const):
(TestAPI::check):
(TestAPI::basicSymbol):
(TestAPI::symbolsTypeof):
(TestAPI::symbolsGetPropertyForKey):
(TestAPI::symbolsSetPropertyForKey):
(TestAPI::symbolsHasPropertyForKey):
(TestAPI::symbolsDeletePropertyForKey):
(TestAPI::promiseResolveTrue):
(TestAPI::promiseRejectTrue):
(testCAPIViaCpp):
(TestAPI::run): Deleted.
* API/tests/testapi.mm:
(testObjectiveCAPIMain):
(promiseWithExecutor):
(promiseRejectOnJSException):
(promiseCreateResolved):
(promiseCreateRejected):
(parallelPromiseResolveTest):
(testObjectiveCAPI):
* JavaScriptCore.xcodeproj/project.pbxproj:
* runtime/JSInternalPromiseDeferred.cpp:
(JSC::JSInternalPromiseDeferred::create):
* runtime/JSPromise.h:
* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
* runtime/JSPromiseDeferred.cpp:
(JSC::JSPromiseDeferred::createDeferredData):
(JSC::JSPromiseDeferred::create):
(JSC::JSPromiseDeferred::finishCreation):
(JSC::newPromiseCapability): Deleted.
* runtime/JSPromiseDeferred.h:
(JSC::JSPromiseDeferred::promise const):
(JSC::JSPromiseDeferred::resolve const):
(JSC::JSPromiseDeferred::reject const):

Source/WTF:

Fix issue where creating a JSContextRef off the main thread before
creating initializing the main thread would cause an assertion
failure.

* wtf/MainThread.cpp:
(WTF::isMainThreadIfInitialized):
* wtf/MainThread.h:
* wtf/mac/MainThreadMac.mm:
(WTF::isMainThreadIfInitialized):
* wtf/text/cf/StringImplCF.cpp:
(WTF::StringImpl::createCFString):

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

2 years agoUnreviewed, rolling out r236359.
ryanhaddad@apple.com [Fri, 21 Sep 2018 23:22:05 +0000 (23:22 +0000)]
Unreviewed, rolling out r236359.

Broke the Windows build.

Reverted changeset:

"Add Promise SPI"
https://bugs.webkit.org/show_bug.cgi?id=189809
https://trac.webkit.org/changeset/236359

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

2 years agoUnreviewed, speed up storage/websql/transaction-database-expand-quota.html
cdumez@apple.com [Fri, 21 Sep 2018 23:18:58 +0000 (23:18 +0000)]
Unreviewed, speed up storage/websql/transaction-database-expand-quota.html

This test was so slow that is sometimes timed out on the debug bots.

* storage/websql/transaction-database-expand-quota-expected.txt:
* storage/websql/transaction-database-expand-quota.html:

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

2 years agoJSRopeString::resolveRope() wrongly assumes that tryGetValue() passes it a valid...
mark.lam@apple.com [Fri, 21 Sep 2018 23:18:15 +0000 (23:18 +0000)]
JSRopeString::resolveRope() wrongly assumes that tryGetValue() passes it a valid ExecState.
https://bugs.webkit.org/show_bug.cgi?id=189855
<rdar://problem/44680181>

Reviewed by Filip Pizlo.

tryGetValue() always passes a nullptr to JSRopeString::resolveRope() for the
ExecState* argument.  This is intentional so that resolveRope() does not throw
in the event of an OutOfMemory error.  Hence, JSRopeString::resolveRope() should
get the VM from the cell instead of via the ExecState.

Also removed an obsolete and unused field in JSString.

* runtime/JSString.cpp:
(JSC::JSRopeString::resolveRope const):
(JSC::JSRopeString::outOfMemory const):
* runtime/JSString.h:
(JSC::JSString::tryGetValue const):

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

2 years agoExtending the lifetime of a NetworkProcessProxy / StorageProcessProxy may cause it...
cdumez@apple.com [Fri, 21 Sep 2018 23:18:13 +0000 (23:18 +0000)]
Extending the lifetime of a NetworkProcessProxy / StorageProcessProxy may cause it to have a stale WebProcessPool pointer
https://bugs.webkit.org/show_bug.cgi?id=189851

Reviewed by Alex Christensen.

Extending the lifetime of a NetworkProcessProxy / StorageProcessProxy may cause it to have a stale WebProcessPool pointer:
- NetworkProcessProxy::m_processPool
- StorageProcessProxy::m_processPool

Those data members are C++ references because it is expected that the WebProcessPool owns the NetworkProcessProxy and
StorageProcessProxy. However, since NetworkProcessProxy / StorageProcessProxy are refcounted, it has happened that code
extends the lifetime of those past their process pool, leading to stale prrocess pool usage. The fix for these crashes
so far as been to ref the WebProcessPool instead of the NetworkProcessProxy / StorageProcessProxy. However, given how
error-prone this is, this patch updates NetworkProcessProxy / StorageProcessProxy so that they forward their refcounting
to the WebProcessPool.

* UIProcess/ChildProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::ref):
(WebKit::NetworkProcessProxy::deref):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToBlockCookiesFor):
(WebKit::NetworkProcessProxy::create): Deleted.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/Storage/StorageProcessProxy.cpp:
(WebKit::StorageProcessProxy::ref):
(WebKit::StorageProcessProxy::deref):
(WebKit::StorageProcessProxy::create): Deleted.
* UIProcess/Storage/StorageProcessProxy.h:
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::ensureStorageProcessAndWebsiteDataStore):
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.h:

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

2 years agoImport WPT content hint tests
commit-queue@webkit.org [Fri, 21 Sep 2018 23:06:40 +0000 (23:06 +0000)]
Import WPT content hint tests
https://bugs.webkit.org/show_bug.cgi?id=189854

Patch by YUHAN WU <yuhan_wu@apple.com> on 2018-09-21
Reviewed by Youenn Fablet.

* resources/import-expectations.json:
* web-platform-tests/mst-content-hint/META.yml: Added.
* web-platform-tests/mst-content-hint/MediaStreamTrack-contentHint-expected.txt: Added.
* web-platform-tests/mst-content-hint/MediaStreamTrack-contentHint.html: Added.
* web-platform-tests/mst-content-hint/idlharness.window.html: Added.
* web-platform-tests/mst-content-hint/idlharness.window.js: Added.
* web-platform-tests/mst-content-hint/w3c-import.log: Added.

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

2 years agoUnreviewed Sierra Build Fix; ensure AVVideoPerformanceMetrics are defined on Sierra.
jer.noble@apple.com [Fri, 21 Sep 2018 22:56:55 +0000 (22:56 +0000)]
Unreviewed Sierra Build Fix; ensure AVVideoPerformanceMetrics are defined on Sierra.

* pal/spi/mac/AVFoundationSPI.h:

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

2 years agoUse a Variant for FormDataElement
achristensen@apple.com [Fri, 21 Sep 2018 22:50:36 +0000 (22:50 +0000)]
Use a Variant for FormDataElement
https://bugs.webkit.org/show_bug.cgi?id=189777

Reviewed by Chris Dumez.

Source/WebCore:

* platform/network/FormData.cpp:
(WebCore::FormData::FormData):
(WebCore::FormDataElement::lengthInBytes const):
(WebCore::FormDataElement::isolatedCopy const):
(WebCore::FormData::appendData):
(WebCore::FormData::flatten const):
(WebCore::FormData::resolveBlobReferences):
(WebCore::FormData::generateFiles):
(WebCore::FormData::hasGeneratedFiles const):
(WebCore::FormData::hasOwnedGeneratedFiles const):
(WebCore::FormData::removeGeneratedFilesIfNeeded):
(WebCore::FormData::asSharedBuffer const):
(WebCore::FormData::asBlobURL const):
(WebCore::FormData::expandDataStore): Deleted.
* platform/network/FormData.h:
(WebCore::FormDataElement::FormDataElement):
(WebCore::FormDataElement::encode const):
(WebCore::FormDataElement::decode):
(WebCore::FormDataElement::EncodedFileData::isolatedCopy const):
(WebCore::FormDataElement::EncodedFileData::operator== const):
(WebCore::FormDataElement::EncodedFileData::encode const):
(WebCore::FormDataElement::EncodedFileData::decode):
(WebCore::FormDataElement::EncodedBlobData::operator== const):
(WebCore::FormDataElement::EncodedBlobData::encode const):
(WebCore::FormDataElement::EncodedBlobData::decode):
(WebCore::FormDataElement::operator== const):
(WebCore::FormDataElement::operator!= const):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::advanceCurrentStream):
(WebCore::createHTTPBodyCFReadStream):
(WebCore::setHTTPBody):
* platform/network/curl/CurlFormDataStream.cpp:
(WebCore::CurlFormDataStream::computeContentLength):
(WebCore::CurlFormDataStream::read):
(WebCore::CurlFormDataStream::readFromFile):
(WebCore::CurlFormDataStream::readFromData):
* platform/network/curl/CurlFormDataStream.h:

Source/WebKit:

* NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
* NetworkProcess/NetworkResourceLoader.cpp:
* Shared/SessionState.h:
* WebProcess/WebCoreSupport/SessionStateConversion.cpp:
(WebKit::toHTTPBody):

Source/WebKitLegacy/win:

* WebMutableURLRequest.cpp:
(WebMutableURLRequest::setHTTPBody):

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

2 years agoUnreviewed test gardening, consolidate iOS expectation files for EventTarget-dispatch...
ryanhaddad@apple.com [Fri, 21 Sep 2018 21:50:38 +0000 (21:50 +0000)]
Unreviewed test gardening, consolidate iOS expectation files for EventTarget-dispatchEvent.html.

* platform/ios-11/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: Removed.
* platform/ios/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:

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

2 years agoREGRESSION (r235948?): Layout Test media/media-controls-accessibility.html is a flaky...
ryanhaddad@apple.com [Fri, 21 Sep 2018 21:50:34 +0000 (21:50 +0000)]
REGRESSION (r235948?): Layout Test media/media-controls-accessibility.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189674

Unreviewed test gardening.

* platform/mac/TestExpectations: Mark test as flaky.

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

2 years agoAdd functions to measure memory footprint to JSC
msaboff@apple.com [Fri, 21 Sep 2018 21:47:25 +0000 (21:47 +0000)]
Add functions to measure memory footprint to JSC
https://bugs.webkit.org/show_bug.cgi?id=189768

Reviewed by Saam Barati.

Rolling this back in again.

Provide system memory metrics for the current process to aid in memory reduction measurement and
tuning using native JS tests.

* jsc.cpp:
(MemoryFootprint::now):
(MemoryFootprint::resetPeak):
(GlobalObject::finishCreation):
(JSCMemoryFootprint::JSCMemoryFootprint):
(JSCMemoryFootprint::createStructure):
(JSCMemoryFootprint::create):
(JSCMemoryFootprint::finishCreation):
(JSCMemoryFootprint::addProperty):
(functionResetMemoryPeak):

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

2 years ago[WHLSL] Local variables should be statically allocated
commit-queue@webkit.org [Fri, 21 Sep 2018 21:46:02 +0000 (21:46 +0000)]
[WHLSL] Local variables should be statically allocated
https://bugs.webkit.org/show_bug.cgi?id=188402

Patch by Thomas Denney <tdenney@apple.com> on 2018-09-21
Reviewed by Myles C. Maxfield.

An additional preparation stage is now performed so that all local
variables and function parameters are allocated in a single struct at
entry points. A pointer to this struct is then passed for function
calls.

* WebGPUShadingLanguageRI/All.js: Update dependencies.
* WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Added new stage.
* WebGPUShadingLanguageRI/CallExpression.js:
(CallExpression.prototype.set argumentList): Add setter because
allocateAtEntryPoints needs to change this.
* WebGPUShadingLanguageRI/EBufferBuilder.js: Remove a redundant
constructor that wasn't used anywhere.
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.set parameters): Add setter.
* WebGPUShadingLanguageRI/FuncDef.js:
(FuncDef.prototype.set body): Ditto.
* WebGPUShadingLanguageRI/Prepare.js:
(let.prepare): Add call to allocateAtEntryPoints. This call cannot
happen any earlier because it depends on having types for call
arguments.
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitReturn): Resolve issue where the return
statement's function wasn't copied. A null check is required as the
Rewriter might be used before this property is set.
* WebGPUShadingLanguageRI/SPIRV.html: Update dependencies.
* WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Abstracted logic
into a separate function so that allocateAtEntryPoints can create the
accessors for the struct type it introduces.
* WebGPUShadingLanguageRI/Test.html: Update dependencies.
* WebGPUShadingLanguageRI/Test.js: Add new tests to verify the static
allocation transform works safely.
* WebGPUShadingLanguageRI/index.html: Update dependencies.

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

2 years ago[Win10] Update test expectations for failing tests.
pvollan@apple.com [Fri, 21 Sep 2018 21:23:26 +0000 (21:23 +0000)]
[Win10] Update test expectations for failing tests.
https://bugs.webkit.org/show_bug.cgi?id=189858

Unreviewed test gardening.

* platform/win/TestExpectations:

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

2 years agoAdd Promise SPI
keith_miller@apple.com [Fri, 21 Sep 2018 21:16:20 +0000 (21:16 +0000)]
Add Promise SPI
https://bugs.webkit.org/show_bug.cgi?id=189809

Reviewed by Saam Barati.

Source/JavaScriptCore:

The Patch adds new SPI to create promises. It's mostly SPI because
I want to see how internal users react to it before we make it
public.

This patch adds a couple of new Obj-C SPI methods. The first
creates a new promise using the same API that JS does where the
user provides an executor callback. If an exception is raised
in/to that callback the promise is automagically rejected. The
other methods create a pre-resolved or rejected promise as this
appears to be a common way to initialize a promise.

I was also considering adding a second version of executor API
where it would catch specific Obj-C exceptions. This would work by
taking a Class paramter and checking isKindOfClass: on the
exception. I decided against this as nothing else in our API
handles Obj-C exceptions. I'm pretty sure the VM will end up in a
corrupt state if an Obj-C exception unwinds through JS frames.

This patch adds a new C function that will create a "deferred"
promise. A deferred promise is a style of creating promise/futures
where the resolve and reject functions are passed as outputs of a
function. I went with this style for the C SPI because we don't have
any concept of forwarding exceptions in the C API.

In order to make the C API work I refactored a bit of the promise code
so that we can call a static method on JSDeferredPromise and just get
the components without allocating an extra cell wrapper.

* API/JSContext.mm:
(+[JSContext currentCallee]):
* API/JSObjectRef.cpp:
(JSObjectMakeDeferredPromise):
* API/JSObjectRefPrivate.h:
* API/JSValue.mm:
(+[JSValue valueWithNewPromiseInContext:fromExecutor:]):
(+[JSValue valueWithNewPromiseResolvedWithResult:inContext:]):
(+[JSValue valueWithNewPromiseRejectedWithReason:inContext:]):
* API/JSValuePrivate.h: Added.
* API/JSVirtualMachine.mm:
* API/JSVirtualMachinePrivate.h:
* API/tests/testapi.c:
(main):
* API/tests/testapi.cpp:
(APIContext::operator JSC::ExecState*):
(TestAPI::failed const):
(TestAPI::check):
(TestAPI::basicSymbol):
(TestAPI::symbolsTypeof):
(TestAPI::symbolsGetPropertyForKey):
(TestAPI::symbolsSetPropertyForKey):
(TestAPI::symbolsHasPropertyForKey):
(TestAPI::symbolsDeletePropertyForKey):
(TestAPI::promiseResolveTrue):
(TestAPI::promiseRejectTrue):
(testCAPIViaCpp):
(TestAPI::run): Deleted.
* API/tests/testapi.mm:
(testObjectiveCAPIMain):
(promiseWithExecutor):
(promiseRejectOnJSException):
(promiseCreateResolved):
(promiseCreateRejected):
(parallelPromiseResolveTest):
(testObjectiveCAPI):
* JavaScriptCore.xcodeproj/project.pbxproj:
* runtime/JSInternalPromiseDeferred.cpp:
(JSC::JSInternalPromiseDeferred::create):
* runtime/JSPromise.h:
* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
* runtime/JSPromiseDeferred.cpp:
(JSC::JSPromiseDeferred::createDeferredData):
(JSC::JSPromiseDeferred::create):
(JSC::JSPromiseDeferred::finishCreation):
(JSC::newPromiseCapability): Deleted.
* runtime/JSPromiseDeferred.h:
(JSC::JSPromiseDeferred::promise const):
(JSC::JSPromiseDeferred::resolve const):
(JSC::JSPromiseDeferred::reject const):

Source/WTF:

Fix issue where creating a JSContextRef off the main thread before
creating initializing the main thread would cause an assertion
failure.

* wtf/MainThread.cpp:
(WTF::isMainThreadIfInitialized):
* wtf/MainThread.h:
* wtf/mac/MainThreadMac.mm:
(WTF::isMainThreadIfInitialized):
* wtf/text/cf/StringImplCF.cpp:
(WTF::StringImpl::createCFString):

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

2 years agoREGRESSION(r236237): Web Inspector: DarkMode: white background in Elements and Timelines
nvasilyev@apple.com [Fri, 21 Sep 2018 21:04:56 +0000 (21:04 +0000)]
REGRESSION(r236237): Web Inspector: DarkMode: white background in Elements and Timelines
https://bugs.webkit.org/show_bug.cgi?id=189852

Reviewed by Joseph Pecoraro.

* UserInterface/Views/Main.css:
(body):
(#main):

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

2 years agoWeb Inspector: remove unnecessary WI.Platform.version checks
bburg@apple.com [Fri, 21 Sep 2018 20:32:09 +0000 (20:32 +0000)]
Web Inspector: remove unnecessary WI.Platform.version checks
https://bugs.webkit.org/show_bug.cgi?id=189845

Reviewed by Matt Baker.

* UserInterface/Base/Platform.js:
(osVersionMatch): Add name for macOS Mojave.

* UserInterface/Base/Main.js:
* UserInterface/Views/Popover.js:
Remove old logic that's no longer needed.

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

2 years agoSimplify the logic around has*ScrollbarWithAutoBehavior
simon.fraser@apple.com [Fri, 21 Sep 2018 20:29:18 +0000 (20:29 +0000)]
Simplify the logic around has*ScrollbarWithAutoBehavior
https://bugs.webkit.org/show_bug.cgi?id=189813

Reviewed by Zalan Bujtas.

The boolean logic in scrollsOverflowX() and hasHorizontalScrollbarWithAutoBehavior() (and the vertical
equivalents) reduces simply to hasOverflowClip() && (style().overflowX() == Overflow::Scroll || style().overflowX() == Overflow::Auto);

Similarly, RenderBox::intrinsicScrollbarLogicalWidth() just needs the part of the logic
that asks whether the theme uses overlay scrollbars which are not customized (and thus
turned into non-overlay scrollbars).

* rendering/RenderBox.cpp:
(WebCore::RenderBox::intrinsicScrollbarLogicalWidth const):
(WebCore::RenderBox::canUseOverlayScrollbars const):
(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior const):
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior const):
* rendering/RenderBox.h:
(WebCore::RenderBox::scrollsOverflowX const):
(WebCore::RenderBox::scrollsOverflowY const):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollbarsAfterLayout):

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

2 years agoUnreviewed, rolling out r236255.
mcatanzaro@igalia.com [Fri, 21 Sep 2018 20:07:02 +0000 (20:07 +0000)]
Unreviewed, rolling out r236255.

Many WebAudio crashes

Reverted changeset:

"[GStreamer] Utilities cleanups"
https://bugs.webkit.org/show_bug.cgi?id=189699
https://trac.webkit.org/changeset/236255

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

2 years agoRebaseline tests after changes in https://trac.webkit.org/changeset/236321/webkit
tsavell@apple.com [Fri, 21 Sep 2018 20:05:26 +0000 (20:05 +0000)]
Rebaseline tests after changes in https://trac.webkit.org/changeset/236321/webkit
https://bugs.webkit.org/show_bug.cgi?id=156674

Unreviewed Test Gardening

* Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result:
* Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result:

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

2 years agoMove AVVideoPerformanceMetrics into AVFoundationSPI.h
jer.noble@apple.com [Fri, 21 Sep 2018 20:00:03 +0000 (20:00 +0000)]
Move AVVideoPerformanceMetrics into AVFoundationSPI.h
https://bugs.webkit.org/show_bug.cgi?id=189842

Reviewed by Jon Lee.

Source/WebCore:

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

Source/WebCore/PAL:

* pal/spi/mac/AVFoundationSPI.h:

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

2 years ago[GTK] ANGLE's eglplatform.h does not support Wayland-only builds
aperez@igalia.com [Fri, 21 Sep 2018 19:59:52 +0000 (19:59 +0000)]
[GTK] ANGLE's eglplatform.h does not support Wayland-only builds
https://bugs.webkit.org/show_bug.cgi?id=189844

Reviewed by Michael Catanzaro.

This makes it possible to build WebKitGTK+ after r225340 when the
build is configured to support only Wayland, and the X11 headers
are not present.

* changes.diff: Updated.
* include/EGL/eglplatform.h: Include the X11 headers only when
ANGLE_USE_X11 is defined and, for consistency with Mesa's version
of the header, when MESA_EGL_NO_X11_HEADERS is not defined.

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

2 years agoWebSQL: User cannot grant quota increase if the JS provides an expected usage value...
cdumez@apple.com [Fri, 21 Sep 2018 19:59:40 +0000 (19:59 +0000)]
WebSQL: User cannot grant quota increase if the JS provides an expected usage value that is too low
https://bugs.webkit.org/show_bug.cgi?id=189801
<rdar://problem/43592498>

Reviewed by Youenn Fablet.

Source/WebCore:

User was unable to grant a quota increase for WebSQL if the JS provided an expected usage value that
is too low. This is because WebKit was passing this provided expectedUsage value to the client for
the purpose of quota increase, even when this expectedUsage value does not make any sense (i.e. it
is lower than the current database size). As a result, the client would grant a quota that is equal
to the previous quota and the JS would not be able to insert any data.

In order to address the issue, when the current quota is exceeded and Database::didExceedQuota()
is called, we now make sure that the expectedUsage value is greater than the current quota. If it
is not, we provide `current quota + 5MB` as expected usage to the client. This way, the client will
grant a quota that is actually increased (provided that the user accepts).

Test: storage/websql/transaction-database-expand-quota.html

* Modules/webdatabase/Database.cpp:
(WebCore::Database::setEstimatedSize):
(WebCore::Database::didExceedQuota):
* Modules/webdatabase/Database.h:

LayoutTests:

Add layout test coverage.

* storage/websql/transaction-database-expand-quota-expected.txt: Added.
* storage/websql/transaction-database-expand-quota.html: Added.

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

2 years agoUse biplanar CVPixelBuffer for black frames sent to libwebrtc
youenn@apple.com [Fri, 21 Sep 2018 19:55:57 +0000 (19:55 +0000)]
Use biplanar CVPixelBuffer for black frames sent to libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=189837

Reviewed by Eric Carlson.

Covered by webrtc/video-mute.html.

Add support to call CVPixelBufferGetBytesPerRowOfPlane.
Make createBlackPixelBuffer use a biplanar CVPixelBuffer as this is better supported in libwebrtc.
It is also what is being used in iOS for capture.

* platform/cocoa/CoreVideoSoftLink.cpp:
* platform/cocoa/CoreVideoSoftLink.h:
* platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
(WebCore::createBlackPixelBuffer):

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

2 years agoAdd RTCCodecStats support
youenn@apple.com [Fri, 21 Sep 2018 19:39:41 +0000 (19:39 +0000)]
Add RTCCodecStats support
https://bugs.webkit.org/show_bug.cgi?id=189792
<rdar://problem/32370668>

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

* web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate-expected.txt:
* web-platform-tests/webrtc/RTCRtpReceiver-getStats.https-expected.txt:
* web-platform-tests/webrtc/RTCRtpSender-getStats.https-expected.txt:

Source/WebCore:

Covered by updated and rebased tests.

* Modules/mediastream/RTCStatsReport.h:
Removed fields that are already defined in the base class.
(WebCore::RTCStatsReport::CodecStats::CodecStats):
Add support for RTCCodecStats.
* Modules/mediastream/RTCStatsReport.idl:
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):
* Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:
(WebCore::fillRTCRTPStreamStats):
(WebCore::fillRTCCodecStats):
(WebCore::LibWebRTCStatsCollector::OnStatsDelivered):
Add routines to fill RTCCodecStats from libwebrtc stats.

LayoutTests:

* webrtc/video-stats.html:

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

2 years ago[iOS] Layout test fast/gradients/conic-gradient-alpha.html is failing
megan_gardner@apple.com [Fri, 21 Sep 2018 19:30:20 +0000 (19:30 +0000)]
[iOS] Layout test fast/gradients/conic-gradient-alpha.html is failing
https://bugs.webkit.org/show_bug.cgi?id=189802

Unreviewed test gardening

It is more difficult to squish the alpha channel than the other channels using an SVG filters.
Thus the cropping bars need to be slightly wider to cover the imperfections in the filter.
Made the bars even more slightly wider, since apparenlty they weren't quite wide enough for iOS.

* fast/gradients/conic-gradient-alpha-expected.html:
* fast/gradients/conic-gradient-alpha.html:
* platform/ios-12/TestExpectations:

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

2 years agoSimply authentication code even more!
achristensen@apple.com [Fri, 21 Sep 2018 19:25:21 +0000 (19:25 +0000)]
Simply authentication code even more!
https://bugs.webkit.org/show_bug.cgi?id=189719

Reviewed by Andy Estes.

Just when you thought it couldn't get simpler and more elegant, it can!

* NetworkProcess/Downloads/Download.cpp:
* NetworkProcess/NetworkCORSPreflightChecker.cpp:
* NetworkProcess/NetworkLoad.cpp:
* NetworkProcess/PingLoad.cpp:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
* Shared/Authentication/AuthenticationChallengeDisposition.h: Added.
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::completeAuthenticationChallenge):
(WebKit::AuthenticationManager::useCredentialForChallenge): Deleted.
(WebKit::AuthenticationManager::useCredentialForSingleChallenge): Deleted.
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge): Deleted.
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge): Deleted.
(WebKit::AuthenticationManager::cancelChallenge): Deleted.
(WebKit::AuthenticationManager::cancelSingleChallenge): Deleted.
(WebKit::AuthenticationManager::performDefaultHandling): Deleted.
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge): Deleted.
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue): Deleted.
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge): Deleted.
* Shared/Authentication/AuthenticationManager.h:
* Shared/Authentication/AuthenticationManager.messages.in:
* Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:
(WebKit::AuthenticationManager::initializeConnection):
* UIProcess/API/C/WKAuthenticationDecisionListener.cpp:
(WKAuthenticationDecisionListenerUseCredential):
* UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm:
(-[WKNSURLAuthenticationChallengeSender continueWithoutCredentialForAuthenticationChallenge:]):
* UIProcess/API/glib/WebKitAuthenticationRequest.cpp:
(webkit_authentication_request_authenticate):
* UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
(WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
* UIProcess/Authentication/AuthenticationDecisionListener.cpp:
(WebKit::AuthenticationDecisionListener::AuthenticationDecisionListener):
(WebKit::AuthenticationDecisionListener::~AuthenticationDecisionListener):
(WebKit::AuthenticationDecisionListener::useCredential):
(WebKit::AuthenticationDecisionListener::cancel):
(WebKit::AuthenticationDecisionListener::performDefaultHandling):
(WebKit::AuthenticationDecisionListener::rejectProtectionSpaceAndContinue):
* UIProcess/Authentication/AuthenticationDecisionListener.h:
(WebKit::AuthenticationDecisionListener::create):
* UIProcess/Cocoa/DownloadClient.mm:
(WebKit::DownloadClient::didReceiveAuthenticationChallenge):
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::NavigationClient::didReceiveAuthenticationChallenge):
* WebKit.xcodeproj/project.pbxproj:

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

2 years agoRegression(Mojave): Resuming a WK2 download crashes
cdumez@apple.com [Fri, 21 Sep 2018 19:19:55 +0000 (19:19 +0000)]
Regression(Mojave): Resuming a WK2 download crashes
https://bugs.webkit.org/show_bug.cgi?id=189838
<rdar://problem/44618538>

Reviewed by Alex Christensen.

Update our workaround to tweak the download resume data to include the actual download path so that
it works on macOS Mojave and up. Unfortunately, the resume data internal representation has changed,
causing our previous workaround to fail.

* NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::resume):

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

2 years agoWeb Inspector: remove setting for Sources tab
drousso@apple.com [Fri, 21 Sep 2018 18:56:00 +0000 (18:56 +0000)]
Web Inspector: remove setting for Sources tab
https://bugs.webkit.org/show_bug.cgi?id=189817

Reviewed by Joseph Pecoraro.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Base/Setting.js:
* UserInterface/Main.html:
* UserInterface/Base/Main.js:
(WI.contentLoaded):
(WI._debuggerDidPause):
(WI.isShowingSourcesTab): Removed.
(WI.showSourcesTab): Removed.

* UserInterface/Views/SourcesSidebarPanel.css: Removed.
* UserInterface/Views/SourcesSidebarPanel.js: Removed.
* UserInterface/Views/SourcesTabContentView.js: Removed.

* UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForURL):

* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

* UserInterface/Views/SourceCodeTextEditor.js:
(WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):

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

2 years agoMake "overflow: overlay" a synonym for "overflow: auto"
simon.fraser@apple.com [Fri, 21 Sep 2018 18:42:25 +0000 (18:42 +0000)]
Make "overflow: overlay" a synonym for "overflow: auto"
https://bugs.webkit.org/show_bug.cgi?id=189811

Source/WebCore:

Reviewed by Zalan Bujtas.

The "overlay" value for overflow was added for an internal Safari feature, and only has
an effect (allow the scrollbar to overlap the content) with legacy scrollbars on macOS.
It's little used on the web.

To simplify code in rendering, just make "overflow: overlay" behave like "overflow: auto".
It's still parsed, but turns into an "auto" value internally, and will be returned from getComputedStyle
as "auto".

Test: fast/css/getComputedStyle/getComputedStyle-overflow.html

* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator Overflow const):
* css/CSSProperties.json:
* css/CSSValueKeywords.in:
* css/StyleResolver.cpp:
(WebCore::isScrollableOverflow):
* css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
* page/ios/FrameIOS.mm:
(WebCore::Frame::nodeRespondingToScrollWheelEvents):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior const):
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior const):
* rendering/RenderLayer.cpp:
(WebCore::styleDefinesAutomaticScrollbar):
* rendering/RenderLayerCompositor.cpp:
(WebCore::isScrollableOverflow):
* rendering/style/RenderStyleConstants.h:

Source/WebInspectorUI:

Reviewed by Zalan Bujtas.

Remove "overlay" from the overflow values.

* UserInterface/Models/CSSKeywordCompletions.js:
* UserInterface/Views/VisualStyleDetailsPanel.js:
(WI.VisualStyleDetailsPanel.prototype._populateDisplaySection):

LayoutTests:

Reviewed by Zalan Bujtas.

Add a modern CSS parsing/computed style test for overflow, superseding
fast/css/overflow-property.html.

* fast/css/getComputedStyle/getComputedStyle-overflow-expected.txt: Added.
* fast/css/getComputedStyle/getComputedStyle-overflow.html: Added.
* fast/css/overflow-property-expected.txt: Removed.
* fast/css/overflow-property.html: Removed.

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

2 years agoTests checking document GC in case of ActiveDOMObjects are flaky
ryanhaddad@apple.com [Fri, 21 Sep 2018 18:40:15 +0000 (18:40 +0000)]
Tests checking document GC in case of ActiveDOMObjects are flaky
https://bugs.webkit.org/show_bug.cgi?id=189413

Unreviewed test gardening.

* platform/mac/TestExpectations: Mark http/tests/media/clearkey/collect-webkit-media-session.html as flaky.

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

2 years agoCentralize which CVPixelBuffer format is being used
youenn@apple.com [Fri, 21 Sep 2018 18:37:31 +0000 (18:37 +0000)]
Centralize which CVPixelBuffer format is being used
https://bugs.webkit.org/show_bug.cgi?id=189772

Reviewed by Eric Carlson.

Get the format type from a single point.
This changes the video capture and mock realtime video sources on Mac to use a biplanar format.
No observable change of behavior.

* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::setSizeAndFrameRateWithPreset):
(WebCore::AVVideoCaptureSource::setupCaptureSession):
(WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection):
* platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer):
(WebCore::MockRealtimeVideoSourceMac::setSizeAndFrameRateWithPreset):
* platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
(WebCore::createBlackPixelBuffer):
* platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
(WebCore::RealtimeOutgoingVideoSourceCocoa::sampleBufferUpdated):
* platform/mediastream/mac/RealtimeVideoUtilities.h: Added.

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

2 years agoWeb Inspector: hide Accessibility Audit Tab setting
drousso@apple.com [Fri, 21 Sep 2018 18:33:29 +0000 (18:33 +0000)]
Web Inspector: hide Accessibility Audit Tab setting
https://bugs.webkit.org/show_bug.cgi?id=189816

Reviewed by Joseph Pecoraro.

Considering that this tab doesn't exist, there's no reason to have a setting/UI for it.

* UserInterface/Base/Setting.js:
* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

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

2 years agoBring up queues for iOS 12 (Build fix)
jbedard@apple.com [Fri, 21 Sep 2018 18:33:16 +0000 (18:33 +0000)]
Bring up queues for iOS 12 (Build fix)
https://bugs.webkit.org/show_bug.cgi?id=189683

Unreviewed build fix.

* pal/spi/cocoa/QuartzCoreSPI.h: Declare setCornerRadius and continuousCorner.

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

2 years agoWeb Inspector: remove Legacy Style Editor
drousso@apple.com [Fri, 21 Sep 2018 18:30:10 +0000 (18:30 +0000)]
Web Inspector: remove Legacy Style Editor
https://bugs.webkit.org/show_bug.cgi?id=189808

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

The Legacy Style Editor has been hidden behind an "experimental" setting for almost a year.
It's time that we remove it, especially since the new Style Editor is at a similar, if not
more advanced, state.

* .eslintrc:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
* WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
* Localizations/en.lproj/localizedStrings.js:
* Tools/PrettyPrinting/index.html:
* UserInterface/Main.html:
* UserInterface/Test.html:
* UserInterface/Base/Setting.js:

* UserInterface/Base/TextUtilities.js: Removed.
* UserInterface/Base/Utilities.js:

* UserInterface/Views/RulesStyleDetailsPanel.css: Removed.
* UserInterface/Views/RulesStyleDetailsPanel.js: Removed.
* UserInterface/Views/CSSStyleDeclarationSection.css: Removed.
* UserInterface/Views/CSSStyleDeclarationSection.js: Removed.
* UserInterface/Views/CSSStyleDeclarationTextEditor.css: Removed.
* UserInterface/Views/CSSStyleDeclarationTextEditor.js: Removed.

* UserInterface/Models/CSSProperty.js:
(WI.CSSProperty.prototype.get text):
(WI.CSSProperty.prototype.get synthesizedText): Deleted.

* UserInterface/Models/CSSStyleDeclaration.js:
(WI.CSSStyleDeclaration):
(WI.CSSStyleDeclaration.prototype.set text):
(WI.CSSStyleDeclaration.prototype.resetText): Deleted.
(WI.CSSStyleDeclaration.prototype.get modified): Deleted.
(WI.CSSStyleDeclaration.prototype.generateCSSRuleString): Deleted.
(WI.CSSStyleDeclaration.prototype.isInspectorRule): Deleted.

* UserInterface/Models/CSSSelector.js:
(WI.CSSSelector.prototype.isGreaterThan): Deleted.

* UserInterface/Models/CSSRule.js:
(WI.CSSRule.prototype.update):
(WI.CSSRule.prototype.get matchedSelectors): Deleted.
(WI.CSSRule.prototype.get matchedSelectorText): Deleted.
(WI.CSSRule.prototype.hasMatchedPseudoElementSelector): Deleted.
(WI.CSSRule.prototype.get mediaText): Deleted.
(WI.CSSRule.prototype.get mostSpecificSelector): Deleted.
(WI.CSSRule.prototype.selectorIsGreater): Deleted.
(WI.CSSRule.prototype._determineMostSpecificSelector): Deleted.

* UserInterface/Models/DOMNodeStyles.js:
(WI.DOMNodeStyles.prototype.changeRule.changeCompleted): Deleted.
(WI.DOMNodeStyles.prototype.changeRule.styleChanged): Deleted.
(WI.DOMNodeStyles.prototype.changeRule.changeText): Deleted.
(WI.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged): Deleted.
(WI.DOMNodeStyles.prototype.changeRule): Deleted.

* UserInterface/Models/CSSCompletions.js:
(WI.CSSCompletions.prototype.isValidPropertyName):
(WI.CSSCompletions):
(WI.CSSCompletions.prototype.keySet): Deleted.
(WI.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Deleted.
(WI.CSSCompletions.prototype.getClosestPropertyName): Deleted.

* UserInterface/Views/ComputedStyleDetailsPanel.js:
(WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule): Deleted.

* UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
(WI.RulesStyleDetailsSidebarPanel):

* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):

* UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingRuleSelector): Added.
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorStartEditingRuleSelector): Deleted.

* UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
(WI.SpreadsheetRulesStyleDetailsPanel):
* UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style .rules): Added.
(.sidebar > .panel.details.css-style > .content > .rules .section-header): Added.
(.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link): Added.
(.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added.
(.sidebar > .panel.details.css-style > .content > .rules > .message-text-view): Added.
(.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .message-text-view): Added.
(@media (prefers-dark-interface)):
(.sidebar > .panel.details.css-style > .content > .rules .section-header): Added.
(.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added.
(.spreadsheet-style-panel .section-header): Deleted.
(.spreadsheet-style-panel .section-header .node-link): Deleted.
(.spreadsheet-style-panel .section-header .node-link:hover): Deleted.
(.spreadsheet-style-panel .section-header): Deleted.
(.spreadsheet-style-panel .section-header .node-link:hover): Deleted.

* UserInterface/Views/CodeMirrorAdditions.js:
(extendedCSSRuleStartState): Removed.
* UserInterface/Views/CodeMirrorFormatters.js:
Remove "css-rule" CodeMirror mode.

* UserInterface/Views/CodeMirrorTextMarkers.js:
(createCodeMirrorVariableTextMarkers): Deleted.

* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

LayoutTests:

* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:

* inspector/css/css-property-expected.txt:
* inspector/css/css-property.html:
* inspector/css/modify-css-property.html:
* inspector/css/shadow-scoped-style.html:
Update tests for functionality that has been deleted.

* inspector/unit-tests/test-harness-expect-functions-expected.txt:
* inspector/unit-tests/test-harness-expect-functions.html:
The changes to `WI.CSSRule` now make it small enough that `InspectorTest` will print it as
JSON instead of an object instance. Change the test to use different objects so this doesn't
happen.

* inspector/unit-tests/text-utilities-expected.txt: Removed.
* inspector/unit-tests/text-utilities.html: Removed.
* inspector/css/generate-css-rule-string-expected.txt: Removed.
* inspector/css/generate-css-rule-string.html: Removed.
Remove tests for functionality that has been deleted.

* inspector/codemirror/prettyprinting-css-rules.html: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-after-colon-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-after-colon.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-after-comma-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-after-comma.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-between-rules-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-between-rules.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-between-values-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-between-values.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/css-variables-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/css-variables.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/do-not-append-semicolon-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/do-not-append-semicolon.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/invalid-property-is-not-removed-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/invalid-property-is-not-removed.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/keep-prefixed-value-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/keep-prefixed-value.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-newline-between-values-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-newline-between-values.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-colon-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-colon.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-comment-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-comment.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-invalid-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-invalid-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-prefixed-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-prefixed-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-semicolon-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-semicolon.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-comment-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-comment.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-invalid-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-invalid-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-prefixed-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-prefixed-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-comment-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-comment.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-invalid-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-invalid-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-comment-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-comment.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-invalid-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-invalid-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-prefixed-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-prefixed-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-property.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property-expected.css: Removed.
* inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property.css: Removed.
Remove all tests for the "css-rule" CodeMirror mode since it's been removed.

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

2 years agoBring up queues for iOS 12 (Build fix)
jbedard@apple.com [Fri, 21 Sep 2018 17:13:34 +0000 (17:13 +0000)]
Bring up queues for iOS 12 (Build fix)
https://bugs.webkit.org/show_bug.cgi?id=189683

Unreviewed build fix.

We should not build ImageDiff as x86 by default since 32 bit projects are
deprecated in Xcode. ImageDiff should only be built once.

* Scripts/build-webkit:
* Scripts/webkitdirs.pm:
(argumentsForConfiguration):

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

2 years agoREGRESSION (r235962-r235963): Layout Test animations/suspend-resume-animation-events...
graouts@webkit.org [Fri, 21 Sep 2018 16:57:10 +0000 (16:57 +0000)]
REGRESSION (r235962-r235963): Layout Test animations/suspend-resume-animation-events.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189607
<rdar://problem/44652315>

Reviewed by Dean Jackson.

Source/WebCore:

There is no reason we shouldn't return the document timeline's time when suspended as otherwise animations may
report an unresolved current time when suspended which would wreak havoc when invalidating what DOM events to
dispatch for CSS Animations and Transitions. We also shouldn't be invalidation DOM events when suspended.

* animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::currentTime):
(WebCore::DocumentTimeline::DocumentTimeline::performInvalidationTask):

LayoutTests:

* animations/suspend-resume-animation-events.html: Ensure the test always opts into Web Animations backing CSS Animations and Transitions.
* platform/mac-wk2/TestExpectations: Mark the test as no longer flaky.

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

2 years agoWhitelist two additional plugins
youenn@apple.com [Fri, 21 Sep 2018 16:41:13 +0000 (16:41 +0000)]
Whitelist two additional plugins
https://bugs.webkit.org/show_bug.cgi?id=189832
<rdar://problem/44628127>

Reviewed by Brent Fulgham.

* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::shouldAllowPluginToRunUnsandboxed):

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

2 years agoBuild tools should work when the /usr/bin/python is python3
commit-queue@webkit.org [Fri, 21 Sep 2018 16:20:05 +0000 (16:20 +0000)]
Build tools should work when the /usr/bin/python is python3
https://bugs.webkit.org/show_bug.cgi?id=156674

Patch by Mike Gorse <mgorse@suse.com> on 2018-09-21
Reviewed by Michael Catanzaro.

.:

* Source/cmake/WebKitCommon.cmake: Allow python 3.

Source/JavaScriptCore:

* Scripts/cssmin.py:
* Scripts/generate-js-builtins.py:
(do_open):
(generate_bindings_for_builtins_files):
* Scripts/generateIntlCanonicalizeLanguage.py:
* Scripts/jsmin.py:
(JavascriptMinify.minify.write):
(JavascriptMinify):
(JavascriptMinify.minify):
* Scripts/make-js-file-arrays.py:
(chunk):
(main):
* Scripts/wkbuiltins/__init__.py:
* Scripts/wkbuiltins/builtins_generate_combined_header.py:
(generate_section_for_global_private_code_name_macro):
* Scripts/wkbuiltins/builtins_generate_internals_wrapper_header.py:
(BuiltinsInternalsWrapperHeaderGenerator.__init__):
* Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py:
(BuiltinsInternalsWrapperImplementationGenerator.__init__):
* Scripts/wkbuiltins/builtins_model.py:
(BuiltinFunction.__lt__):
(BuiltinsCollection.copyrights):
(BuiltinsCollection._parse_functions):
* disassembler/udis86/ud_opcode.py:
(UdOpcodeTables.pprint.printWalk):
* generate-bytecode-files:
* inspector/scripts/codegen/__init__.py:
* inspector/scripts/codegen/cpp_generator.py:
* inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py:
(CppAlternateBackendDispatcherHeaderGenerator.generate_output):
* inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:
(CppBackendDispatcherHeaderGenerator.domains_to_generate):
(CppBackendDispatcherHeaderGenerator.generate_output):
(CppBackendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):
* inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:
(CppBackendDispatcherImplementationGenerator.domains_to_generate):
(CppBackendDispatcherImplementationGenerator.generate_output):
* inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:
(CppFrontendDispatcherHeaderGenerator.domains_to_generate):
(CppFrontendDispatcherHeaderGenerator.generate_output):
* inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:
(CppFrontendDispatcherImplementationGenerator.domains_to_generate):
(CppFrontendDispatcherImplementationGenerator.generate_output):
* inspector/scripts/codegen/generate_cpp_protocol_types_header.py:
(CppProtocolTypesHeaderGenerator.generate_output):
(CppProtocolTypesHeaderGenerator._generate_forward_declarations):
* inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:
(CppProtocolTypesImplementationGenerator.generate_output):
(CppProtocolTypesImplementationGenerator._generate_enum_conversion_methods_for_domain):
(CppProtocolTypesImplementationGenerator._generate_enum_mapping_and_conversion_methods):
(CppProtocolTypesImplementationGenerator._generate_open_field_names):
(CppProtocolTypesImplementationGenerator._generate_builders_for_domain):
(CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration):
* inspector/scripts/codegen/generate_js_backend_commands.py:
(JSBackendCommandsGenerator.should_generate_domain):
(JSBackendCommandsGenerator.domains_to_generate):
(JSBackendCommandsGenerator.generate_output):
(JSBackendCommandsGenerator.generate_domain):
* inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:
(ObjCBackendDispatcherHeaderGenerator.domains_to_generate):
(ObjCBackendDispatcherHeaderGenerator.generate_output):
* inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:
(ObjCBackendDispatcherImplementationGenerator.domains_to_generate):
(ObjCBackendDispatcherImplementationGenerator.generate_output):
(ObjCBackendDispatcherImplementationGenerator._generate_success_block_for_command):
* inspector/scripts/codegen/generate_objc_configuration_header.py:
* inspector/scripts/codegen/generate_objc_configuration_implementation.py:
* inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
(ObjCFrontendDispatcherImplementationGenerator.domains_to_generate):
(ObjCFrontendDispatcherImplementationGenerator.generate_output):
(ObjCFrontendDispatcherImplementationGenerator._generate_event):
* inspector/scripts/codegen/generate_objc_header.py:
(ObjCHeaderGenerator.generate_output):
(ObjCHeaderGenerator._generate_type_interface):
* inspector/scripts/codegen/generate_objc_internal_header.py:
(ObjCInternalHeaderGenerator.generate_output):
* inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py:
(ObjCProtocolTypeConversionsHeaderGenerator.domains_to_generate):
(ObjCProtocolTypeConversionsHeaderGenerator.generate_output):
* inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:
(ObjCProtocolTypeConversionsImplementationGenerator.domains_to_generate):
* inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
(ObjCProtocolTypesImplementationGenerator.domains_to_generate):
(ObjCProtocolTypesImplementationGenerator.generate_output):
(ObjCProtocolTypesImplementationGenerator.generate_type_implementation):
(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_required_members):
* inspector/scripts/codegen/generator.py:
(Generator.non_supplemental_domains):
(Generator.open_fields):
(Generator.calculate_types_requiring_shape_assertions):
(Generator._traverse_and_assign_enum_values):
(Generator.stylized_name_for_enum_value):
* inspector/scripts/codegen/models.py:
(find_duplicates):
* inspector/scripts/codegen/objc_generator.py:
* wasm/generateWasm.py:
(opcodeIterator):
* yarr/generateYarrCanonicalizeUnicode:
* yarr/generateYarrUnicodePropertyTables.py:
* yarr/hasher.py:
(stringHash):

Source/WebCore:

No new tests (no behavior change).

* platform/network/create-http-header-name-table: remove xreadlines.

Source/WebInspectorUI:

* Scripts/copy-user-interface-resources.pl: Use $PYTHON if set
in the environment.

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