WebKit-https.git
7 months agoSkip compilation of unused audio device files for Mac and iOS
youenn@apple.com [Fri, 8 Mar 2019 00:44:30 +0000 (00:44 +0000)]
Skip compilation of unused audio device files for Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=195412

Reviewed by Eric Carlson.

Stop compiling audio_device_mac.cc, audio_mixer_manager_mac.cc and voice_processing_audio_unit.mm
as unused in WebKit.
* libwebrtc.xcodeproj/project.pbxproj:

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

7 months agoWeb Inspector: Styles: overridden CSS property should have go-to button to jump to...
nvasilyev@apple.com [Fri, 8 Mar 2019 00:40:02 +0000 (00:40 +0000)]
Web Inspector: Styles: overridden CSS property should have go-to button to jump to effective property
https://bugs.webkit.org/show_bug.cgi?id=185930
<rdar://problem/40506252>

Reviewed by Matt Baker.

Introduce a new experimental jump to effective property button. The button is a small arrow button
next to an overridden CSS property. Clicking the button scrolls to the effective CSS property and
selects it.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Base/Setting.js:
* UserInterface/Models/CSSProperty.js:
(WI.CSSProperty):
(WI.CSSProperty.prototype.update):
(WI.CSSProperty.prototype.get overridingProperty):
(WI.CSSProperty.prototype.set overridingProperty):
* UserInterface/Models/DOMNodeStyles.js:
(WI.DOMNodeStyles.prototype._markOverriddenProperties):
* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.spreadsheet-style-declaration-editor .property.overridden .select-effective-property):
(.spreadsheet-style-declaration-editor .property.overridden:hover .select-effective-property,):
(.spreadsheet-style-declaration-editor .property.overridden:hover .select-effective-property::after,):
(@media (prefers-color-scheme: dark)):
* UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertySelectByProperty):
* UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorSelectProperty):
* UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
(WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionSelectProperty):
* UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype.updateStatus):

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

7 months ago[ContentChangeObserver] Add a setting to be able to turn content change observation...
zalan@apple.com [Fri, 8 Mar 2019 00:36:42 +0000 (00:36 +0000)]
[ContentChangeObserver] Add a setting to be able to turn content change observation on/off
https://bugs.webkit.org/show_bug.cgi?id=195353
<rdar://problem/48626394>

Reviewed by Simon Fraser.

Source/WebCore:

Move content observation tests to a dedicated directory.

Tests: fast/events/touch/ios/content-observation/click-instead-of-hover-simple.html
       fast/events/touch/ios/content-observation/hover-when-style-change-is-async.html
       fast/events/touch/ios/content-observation/stuck-with-hover-state.html
       fast/events/touch/ios/content-observation/style-recalc-schedule-and-force-relalc.html
       fast/events/touch/ios/content-observation/visibility-change-happens-at-the-second-timer.html

* page/Settings.yaml:
* page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::didInstallDOMTimer):
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const):
* page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const): Deleted.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::resetToConsistentState):

Source/WebKit:

* Shared/WebPreferences.yaml:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetContentChangeObserverEnabled):
(WKPreferencesGetContentChangeObserverEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _contentChangeObserverEnabled]):
(-[WKPreferences _setContentChangeObserverEnabled:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleSyntheticClick):

Source/WebKitLegacy/mac:

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

Tools:

* WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):

LayoutTests:

* fast/events/touch/ios/content-observation/click-instead-of-hover-simple-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/click-instead-of-hover-simple-expected.txt.
* fast/events/touch/ios/content-observation/click-instead-of-hover-simple.html: Renamed from LayoutTests/fast/events/touch/ios/click-instead-of-hover-simple.html.
* fast/events/touch/ios/content-observation/hover-when-style-change-is-async-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/hover-when-style-change-is-async-expected.txt.
* fast/events/touch/ios/content-observation/hover-when-style-change-is-async.html: Renamed from LayoutTests/fast/events/touch/ios/hover-when-style-change-is-async.html.
* fast/events/touch/ios/content-observation/stuck-with-hover-state-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/stuck-with-hover-state-expected.txt.
* fast/events/touch/ios/content-observation/stuck-with-hover-state.html: Renamed from LayoutTests/fast/events/touch/ios/stuck-with-hover-state.html.
* fast/events/touch/ios/content-observation/style-recalc-schedule-and-force-relalc-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/style-recalc-schedule-and-force-relalc-expected.txt.
* fast/events/touch/ios/content-observation/style-recalc-schedule-and-force-relalc.html: Renamed from LayoutTests/fast/events/touch/ios/style-recalc-schedule-and-force-relalc.html.
* fast/events/touch/ios/content-observation/visibility-change-happens-at-the-second-timer-expected.txt: Renamed from LayoutTests/fast/events/touch/ios/visibility-change-happens-at-the-second-timer-expected.txt.
* fast/events/touch/ios/content-observation/visibility-change-happens-at-the-second-timer.html: Renamed from LayoutTests/fast/events/touch/ios/visibility-change-happens-at-the-second-timer.html.

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

7 months agoMake sure an empty host matches the internal representation "nullOrigin" in WebCore...
wilander@apple.com [Fri, 8 Mar 2019 00:23:51 +0000 (00:23 +0000)]
Make sure an empty host matches the internal representation "nullOrigin" in WebCore::RegistrableDomain::matches()
https://bugs.webkit.org/show_bug.cgi?id=195435

Reviewed by Brent Fulgham.

No new tests. Tests are currently failing and will pass again with
this patch.

WebCore::RegistrableDomain::matches() is a quick way to compare a
RegistrableDomain with a URL. Since RegistrableDomain represents the
empty host as "nullOrigin," a URL with an empty host needs to match
that representation in WebCore::RegistrableDomain::matches().
Failure to do so caused debug assertions in fast/ layout tests after
https://trac.webkit.org/changeset/242603/webkit.

* platform/RegistrableDomain.h:
(WebCore::RegistrableDomain::matches const):

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

7 months agoUnreviewed build fixes since MTLClampToBorderColor is only supported on macOS.
justin_fan@apple.com [Fri, 8 Mar 2019 00:18:59 +0000 (00:18 +0000)]
Unreviewed build fixes since MTLClampToBorderColor is only supported on macOS.

* Modules/webgpu/GPUSamplerDescriptor.idl:
* platform/graphics/gpu/GPUSamplerDescriptor.h:
* platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm: Forgot include.
* platform/graphics/gpu/cocoa/GPUSamplerMetal.mm:
(WebCore::mtlAddressModeForAddressMode):
(WebCore::tryCreateMtlSamplerState):
(WebCore::mtlBorderColorForBorderColor): Deleted.

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

7 months ago[WinCairo] Unreviewed test gardening.
ross.kirsling@sony.com [Thu, 7 Mar 2019 23:50:57 +0000 (23:50 +0000)]
[WinCairo] Unreviewed test gardening.

* platform/wincairo/TestExpectations:

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

7 months ago[Apple Pay] Untangle PKPaymentAuthorizationViewController from WebPaymentCoordinatorProxy
aestes@apple.com [Thu, 7 Mar 2019 23:30:42 +0000 (23:30 +0000)]
[Apple Pay] Untangle PKPaymentAuthorizationViewController from WebPaymentCoordinatorProxy
https://bugs.webkit.org/show_bug.cgi?id=195349
<rdar://problem/48625510>

Reviewed by Alex Christensen.

Source/WebCore/PAL:

Moved soft-linking of PKPaymentErrorDomain from WebPaymentCoordinatorProxy to here and used
a more descriptive platform macro.

* pal/cocoa/PassKitSoftLink.h:
* pal/cocoa/PassKitSoftLink.mm:

Source/WebKit:

Introduced PaymentAuthorizationPresenter and WKPaymentAuthorizationDelegate to encapsulate
PKPaymentAuthorizationViewController and its delegate. Taught WebPaymentCoordinatorProxy to
interact with PaymentAuthorizationPresenter rather than PKPAVC directly.

These changes will allow us to swap out PKPaymentAuthorizationViewController with PKPaymentAuthorizationController in a follow-on patch.

* Platform/cocoa/PaymentAuthorizationPresenter.h: Added. Defined the abstract interface for
payment authorization presenters that use PKPA(V)C.
* Platform/cocoa/PaymentAuthorizationPresenter.mm: Added.
(WebKit::toPKPaymentAuthorizationStatus): Moved from WebPaymentCoordinatorProxyCocoa.mm.
(WebKit::toPKPaymentErrorCode): Ditto.
(WebKit::toNSError): Ditto.
(WebKit::toNSErrors): Ditto.
(WebKit::toPKShippingMethods): Ditto.
(WebKit::PaymentAuthorizationPresenter::completeMerchantValidation): Added. Implements the
logic previously in WebPaymentCoordinatorProxy::platformCompleteMerchantValidation.
(WebKit::PaymentAuthorizationPresenter::completePaymentMethodSelection): Ditto for
WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection.
(WebKit::PaymentAuthorizationPresenter::completePaymentSession): Ditto for
(WebKit::PaymentAuthorizationPresenter::completeShippingContactSelection): Ditto for
WebPaymentCoordinatorProxy::platformCompletePaymentSession.
(WebKit::PaymentAuthorizationPresenter::completeShippingMethodSelection): Ditto for
WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection.
* Platform/cocoa/PaymentAuthorizationViewController.h: Added. Defined a subclass of PaymentAuthorizationPresenter for PKPaymentAuthorizationViewController.
* Platform/cocoa/PaymentAuthorizationViewController.mm: Added.
(-[WKPaymentAuthorizationViewControllerDelegate initWithPresenter:]): Added a PKPAVC
delegate that's a subclass of WKPaymentAuthorizationDelegate.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewControllerDidFinish:]):
Called -[WKPaymentAuthorizationDelegate _didFinish].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:handler:]): Called
-[WKPaymentAuthorizationDelegate _didAuthorizePayment:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]): Called
-[WKPaymentAuthorizationDelegate _didSelectShippingMethod:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]): Called
-[WKPaymentAuthorizationDelegate _didSelectShippingContact:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]): Called
-[WKPaymentAuthorizationDelegate _didSelectPaymentMethod:completion:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:willFinishWithError:]):
Called -[WKPaymentAuthorizationDelegate _willFinishWithError:].
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didRequestMerchantSession:]): Called
-[WKPaymentAuthorizationDelegate _didRequestMerchantSession:].
* Platform/cocoa/WKPaymentAuthorizationDelegate.h: Added.
* Platform/cocoa/WKPaymentAuthorizationDelegate.mm: Added.
(-[WKPaymentAuthorizationDelegate summaryItems]): Added a summaryItems getter.
(-[WKPaymentAuthorizationDelegate shippingMethods]): Ditto for shippingMethods.
(-[WKPaymentAuthorizationDelegate completeMerchantValidation:error:]): Called
_didRequestMerchantSessionCompletion then set it to nil.
(-[WKPaymentAuthorizationDelegate completePaymentMethodSelection:]): Ditto for
_didSelectPaymentMethodCompletion.
(-[WKPaymentAuthorizationDelegate completePaymentSession:errors:didReachFinalState:]): Ditto
for _didAuthorizePaymentCompletion.
(-[WKPaymentAuthorizationDelegate completeShippingContactSelection:summaryItems:shippingMethods:errors:]):
Ditto for _didSelectShippingContactCompletion.
(-[WKPaymentAuthorizationDelegate completeShippingMethodSelection:]): Ditto for
_didSelectShippingMethodCompletion.
(-[WKPaymentAuthorizationDelegate invalidate]): If there's an outstanding authorization
callback, called -completePaymentSession:errors:didReachFinalState: with a state of
PKPaymentAuthorizationStatusFailure.
(-[WKPaymentAuthorizationDelegate _initWithPresenter:]):
(-[WKPaymentAuthorizationDelegate _didAuthorizePayment:completion:]): Added. Implements the
logic previously in WKPaymentAuthorizationViewControllerDelegate.
(-[WKPaymentAuthorizationDelegate _didFinish]): Ditto.
(-[WKPaymentAuthorizationDelegate _didRequestMerchantSession:]): Ditto.
(-[WKPaymentAuthorizationDelegate _didSelectPaymentMethod:completion:]): Ditto.
(-[WKPaymentAuthorizationDelegate _didSelectShippingContact:completion:]): Ditto.
(toShippingMethod): Moved from WebPaymentCoordinatorProxyCocoa.mm.
(-[WKPaymentAuthorizationDelegate _didSelectShippingMethod:completion:]): Added. Implements
the logic previously in WKPaymentAuthorizationViewControllerDelegate.
(-[WKPaymentAuthorizationDelegate _willFinishWithError:]): Ditto.
* Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::presenterWillValidateMerchant): To conform to
PaymentAuthorizationPresenter::Client, renamed from validateMerchant.
(WebKit::WebPaymentCoordinatorProxy::presenterDidAuthorizePayment): Renamed from
didAuthorizePayment.
(WebKit::WebPaymentCoordinatorProxy::presenterDidFinish): Moved logic here that previously
existed in WKPaymentAuthorizationViewControllerDelegate.
(WebKit::WebPaymentCoordinatorProxy::presenterDidSelectShippingMethod): Renamed from
didSelectShippingMethod.
(WebKit::WebPaymentCoordinatorProxy::presenterDidSelectShippingContact): Renamed from
didSelectShippingContact.
(WebKit::WebPaymentCoordinatorProxy::presenterDidSelectPaymentMethod): Renamed from
didSelectPaymentMethod.
(WebKit::WebPaymentCoordinatorProxy::validateMerchant): Renamed to
presenterWillValidateMerchant.
(WebKit::WebPaymentCoordinatorProxy::didAuthorizePayment): Renamed to
presenterDidAuthorizePayment.
(WebKit::WebPaymentCoordinatorProxy::didSelectShippingMethod): Renamed to
presenterDidSelectShippingMethod.
(WebKit::WebPaymentCoordinatorProxy::didSelectShippingContact): Renamed to
presenterDidSelectShippingContact.
(WebKit::WebPaymentCoordinatorProxy::didSelectPaymentMethod): Renamed to
didSelectPaymentMethod.
* Shared/ApplePay/WebPaymentCoordinatorProxy.h: Changed WebPaymentCoordinatorProxy to
subclass PaymentAuthorizationPresenter::Client.
* Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.h: Removed WKPaymentAuthorizationViewControllerDelegate interface and declared some helper functions
needed by PaymentAuthorizationPresenter.
* Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::toPKPaymentSummaryItemType): Removed static keyword.
(WebKit::toDecimalNumber): Ditto.
(WebKit::toPKPaymentSummaryItem): Ditto.
(WebKit::toPKPaymentSummaryItems): Ditto.
(WebKit::toPKShippingMethod): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformPaymentRequest): Changed to call
m_authorizationPresenter.
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentSession): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompleteMerchantValidation): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingMethodSelection): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompleteShippingContactSelection): Ditto.
(WebKit::WebPaymentCoordinatorProxy::platformCompletePaymentMethodSelection): Ditto.
(-[WKPaymentAuthorizationViewControllerDelegate initWithPaymentCoordinatorProxy:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate invalidate]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:willFinishWithError:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didRequestMerchantSession:]): Deleted.
(toShippingMethod): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:handler:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didAuthorizePayment:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingMethod:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectPaymentMethod:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewController:didSelectShippingContact:completion:]): Deleted.
(-[WKPaymentAuthorizationViewControllerDelegate paymentAuthorizationViewControllerDidFinish:]): Deleted.
(WebKit::toPKPaymentAuthorizationStatus): Moved to PaymentAuthorizationPresenter.mm.
(WebKit::toPKPaymentErrorCode): Ditto.
(WebKit::toNSError): Ditto.
(WebKit::toNSErrors): Ditto.
* Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI): Changed to present a
PaymentAuthorizationPresenter rather than a PKPAVC.
(WebKit::WebPaymentCoordinatorProxy::hidePaymentUI): Changed to dismiss a
PaymentAuthorizationPresenter rather than a PKPAVC.
* Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI): Ditto.
(WebKit::WebPaymentCoordinatorProxy::hidePaymentUI): Ditto.
* SourcesCocoa.txt:
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::paymentCoordinatorAuthorizationPresenter): Added. Returns a new
PaymentAuthorizationViewController.
* WebKit.xcodeproj/project.pbxproj:

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

7 months ago[Web GPU] GPUSampler implementation
justin_fan@apple.com [Thu, 7 Mar 2019 23:03:53 +0000 (23:03 +0000)]
[Web GPU] GPUSampler implementation
https://bugs.webkit.org/show_bug.cgi?id=195427
<rdar://problem/48686011>

Reviewed by Dean Jackson.

Source/WebCore:

Implement ability to create GPUSamplers and use them as pipeline resource bindings.

Test: texture-triangle-strip.html updated.

Add symbols to project:
* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Sources.txt:
* SourcesCocoa.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:

GPUSampler creation:
* Modules/webgpu/GPUSamplerDescriptor.idl: Added.
* Modules/webgpu/WebGPUDevice.cpp:
(WebCore::WebGPUDevice::createSampler const): Added.
* Modules/webgpu/WebGPUDevice.h:
* Modules/webgpu/WebGPUDevice.idl:
* Modules/webgpu/WebGPUSampler.cpp: Added.
(WebCore::WebGPUSampler::create):
(WebCore::WebGPUSampler::WebGPUSampler):
* Modules/webgpu/WebGPUSampler.h: Added.
(WebCore::WebGPUSampler::sampler const):
* Modules/webgpu/WebGPUSampler.idl: Added.
* platform/graphics/gpu/GPUDevice.cpp:
(WebCore::GPUDevice::tryCreateSampler const): Added.
* platform/graphics/gpu/GPUDevice.h:
* platform/graphics/gpu/GPUSampler.h: Added.
(WebCore::GPUSampler::platformSampler const):
* platform/graphics/gpu/GPUSamplerDescriptor.h: Added.
* platform/graphics/gpu/cocoa/GPUSamplerMetal.mm: Added.
(WebCore::mtlAddressModeForAddressMode):
(WebCore::mtlBorderColorForBorderColor):
(WebCore::mtlMinMagFilterForFilterMode):
(WebCore::mtlMipFilterForFilterMode):
(WebCore::tryCreateMtlSamplerState):
(WebCore::GPUSampler::tryCreate):
(WebCore::GPUSampler::GPUSampler):

Move GPUCompareFunction to Utils for shared use.
* platform/graphics/gpu/GPUCompareFunction.h:
* platform/graphics/gpu/GPUUtils.h:
* platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:
(WebCore::tryCreateMtlDepthStencilState):
(WebCore::validateAndConvertDepthCompareFunctionToMtl): Deleted.
* platform/graphics/gpu/cocoa/GPUUtilsMetal.mm:
(WebCore::platformTextureFormatForGPUTextureFormat):
(WebCore::platformCompareFunctionForGPUCompareFunction):

Expand bind groups to accept GPUSamplers:
* Modules/webgpu/WebGPUBindGroupBinding.h:
* Modules/webgpu/WebGPUBindGroupBinding.idl:
* Modules/webgpu/WebGPUBindGroupDescriptor.cpp:
(WebCore::WebGPUBindGroupDescriptor::asGPUBindGroupDescriptor const):
* platform/graphics/gpu/GPUBindGroupBinding.h:
* platform/graphics/gpu/GPUProgrammablePassEncoder.h:
* platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm:
(WebCore::GPUProgrammablePassEncoder::setBindGroup):
(WebCore::GPUProgrammablePassEncoder::setResourceAsBufferOnEncoder):
(WebCore::GPUProgrammablePassEncoder::setResourceAsSamplerOnEncoder): Added.
(WebCore::GPUProgrammablePassEncoder::setResourceAsTextureOnEncoder):

Misc:
* Modules/webgpu/WebGPUTexture.cpp: Missing includes.
* Modules/webgpu/WebGPUTexture.h:
* Modules/webgpu/WebGPUSwapChain.cpp: Removed extra include.

LayoutTests:

Update texture-triangle-strip to use a GPUSampler provided through bindings instead of creating one in shader.

* webgpu/texture-triangle-strip.html:

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

7 months agoFollow up refactoring in try-finally code after r242591.
mark.lam@apple.com [Thu, 7 Mar 2019 23:01:18 +0000 (23:01 +0000)]
Follow up refactoring in try-finally code after r242591.
https://bugs.webkit.org/show_bug.cgi?id=195428

Reviewed by Saam Barati.

1. Added some comments in emitFinallyCompletion() to describe each completion case.
2. Converted CatchEntry into a struct.
3. Renamed variable hasBreaksOrContinuesNotCoveredByJumps to hasBreaksOrContinuesThatEscapeCurrentFinally
   to be more clear about its purpose.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::emitOutOfLineExceptionHandler):
(JSC::BytecodeGenerator::emitFinallyCompletion):
* bytecompiler/BytecodeGenerator.h:

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

7 months agoCompactVariableMap::Handle's copy operator= leaks the previous data
sbarati@apple.com [Thu, 7 Mar 2019 22:41:17 +0000 (22:41 +0000)]
CompactVariableMap::Handle's copy operator= leaks the previous data
https://bugs.webkit.org/show_bug.cgi?id=195398

Reviewed by Yusuke Suzuki.

The copy constructor was just assigning |this| to the new value,
forgetting to decrement the ref count of the thing pointed to by
the |this| handle. Based on Yusuke's suggestion, this patch refactors
the move constructor, move operator=, and copy operator= to use the
swap() primitive and the copy constructor primitive.

* parser/VariableEnvironment.cpp:
(JSC::CompactVariableMap::Handle::Handle):
(JSC::CompactVariableMap::Handle::swap):
(JSC::CompactVariableMap::Handle::operator=): Deleted.
* parser/VariableEnvironment.h:
(JSC::CompactVariableMap::Handle::Handle):
(JSC::CompactVariableMap::Handle::operator=):

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

7 months agoREGRESSION: ( r231040 ) Layout Test http/tests/security/xss-DENIED-xsl-external-entit...
youenn@apple.com [Thu, 7 Mar 2019 22:17:40 +0000 (22:17 +0000)]
REGRESSION: ( r231040 ) Layout Test http/tests/security/xss-DENIED-xsl-external-entity.xml is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189724
<rdar://problem/48422520>

Reviewed by Geoffrey Garen.

Copy the flaky test into a new test for which we use DumpJSConsoleLogInStdErr.
This should make the new test no longer flaky in WK1.
Run this new test for WK1 only and run the original test for WK2 only.

* TestExpectations:
* http/tests/security/xss-DENIED-xsl-external-entity-no-logging-expected.txt: Added.
* http/tests/security/xss-DENIED-xsl-external-entity-no-logging.xml: Added.
* platform/ios-wk1/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/wk2/TestExpectations:

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

7 months agoRegression(r242580) WebKit.NetworkProcessCrashWithPendingConnection API is crashing...
cdumez@apple.com [Thu, 7 Mar 2019 21:50:35 +0000 (21:50 +0000)]
Regression(r242580) WebKit.NetworkProcessCrashWithPendingConnection API is crashing on iOS debug
https://bugs.webkit.org/show_bug.cgi?id=195416

Reviewed by Antti Koivisto.

Drop ASSERT_NOT_REACHED() in WebPage::didCompletePageTransition() when the tree is still frozen due to
LayerTreeFreezeReason::ProcessSuspended. As demonstrated by this API test, nothing prevents a load from
completing and WebPage::didCompletePageTransition() to get called *after* WebProcess::prepareToSuspend()
has been called. From the logging during the test, I can tell that WebProcess::processDidResume() gets
called later on and the LayerTreeFreezeReason::ProcessSuspended freezing reason gets dropped, as expected.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCompletePageTransition):

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

7 months agoClean up / simplify ProcessAssertion code
cdumez@apple.com [Thu, 7 Mar 2019 21:49:22 +0000 (21:49 +0000)]
Clean up / simplify ProcessAssertion code
https://bugs.webkit.org/show_bug.cgi?id=195394

Reviewed by Geoffrey Garen.

Clean up / simplify ProcessAssertion code to facilitate its maintenance and make it
less error-prone.

* Platform/IPC/mac/ConnectionMac.mm:
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):
* UIProcess/ProcessAssertion.cpp:
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::setState):
* UIProcess/ProcessAssertion.h:
(WebKit::ProcessAssertion::Client::~Client):
(WebKit::ProcessAssertion::setClient):
(WebKit::ProcessAssertion::client):
* UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::didConnectToProcess):
* UIProcess/ProcessThrottler.h:
* UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager dealloc]):
(-[WKProcessAssertionBackgroundTaskManager addAssertionNeedingBackgroundTask:]):
(-[WKProcessAssertionBackgroundTaskManager removeAssertionNeedingBackgroundTask:]):
(-[WKProcessAssertionBackgroundTaskManager _notifyAssertionsOfImminentSuspension]):
(-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::processAssertionWasInvalidated):
(WebKit::ProcessAssertion::setState):
(WebKit::ProcessAndUIAssertion::updateRunInBackgroundCount):
(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::~ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::processAssertionWasInvalidated):
(WebKit::ProcessAndUIAssertion::setState):
(WebKit::ProcessAndUIAssertion::uiAssertionWillExpireImminently):

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

7 months agoUnreviewed, rolling out r242297.
commit-queue@webkit.org [Thu, 7 Mar 2019 21:44:19 +0000 (21:44 +0000)]
Unreviewed, rolling out r242297.
https://bugs.webkit.org/show_bug.cgi?id=195430

Broke Microsoft Visio. (Requested by dydz on #webkit).

Reverted changeset:

"[iOS] Turn mouse event simulation on by default"
https://bugs.webkit.org/show_bug.cgi?id=195218
https://trac.webkit.org/changeset/242297

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

7 months agoCrash in com.apple.WebCore: WebCore::IDBTransaction::pendingOperationTimerFired + 72
sihui_liu@apple.com [Thu, 7 Mar 2019 21:43:10 +0000 (21:43 +0000)]
Crash in com.apple.WebCore: WebCore::IDBTransaction::pendingOperationTimerFired + 72
https://bugs.webkit.org/show_bug.cgi?id=195214
<rdar://problem/48461116>

Reviewed by Geoffrey Garen.

When IDBTransaction is ready to commit, a commit operation would be schedule to
m_pendingTransactionOperationQueue. If connection to IDBServer is lost, pending operations are moved to
m_transactionOperationsInProgressQueue and will be completed with TransactionOperation::doComplete. doComplete
executes complete function of the operation, clears the complete function, and then removes the operation from
m_transactionOperationsInProgressQueue. In doComplete, we do early return when complete function is null,
since the doComplete could be invoked twice due to the race conditions between receiving "operation complete"
message from server and client-side abort.

However, commit operation does not have a complete function because it should be the last operation of
transaction and it gets removed from queue in its perform function. A commit operation would not be removed from
m_transactionOperationsInProgressQueue because of the early return. It would be removed from
m_transactionOperationMap, which may hold the last ref to the commit operation, in
IDBTransaction::connectionClosedFromServer. In this case, when pendingOperationTimerFired is called later, the
commit operation left in m_transactionOperationsInProgressQueue would be used and found to be freed. We should
not use null check of complete function to decide whether an operation is completed.

* Modules/indexeddb/client/TransactionOperation.h:
(WebCore::IDBClient::TransactionOperation::doComplete):

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

7 months agoWeb Inspector: Protocol: add type checking when commands are called via invoke
drousso@apple.com [Thu, 7 Mar 2019 20:40:14 +0000 (20:40 +0000)]
Web Inspector: Protocol: add type checking when commands are called via invoke
https://bugs.webkit.org/show_bug.cgi?id=195310
<rdar://problem/48588679>

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Command.prototype.invoke.deliverFailure): Added.
(InspectorBackend.Command.prototype.invoke):
(InspectorBackend.Command.prototype._invokeWithArguments):

LayoutTests:

* inspector/protocol/inspector-backend-invocation-return-value.html:
* inspector/protocol/inspector-backend-invocation-return-value-expected.txt:

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

7 months agoLazily decode cached bytecode
tzagallo@apple.com [Thu, 7 Mar 2019 19:43:43 +0000 (19:43 +0000)]
Lazily decode cached bytecode
https://bugs.webkit.org/show_bug.cgi?id=194810

Reviewed by Saam Barati.

Like lazy parsing, we should pause at code block boundaries. Instead
of always eagerly decoding UnlinkedFunctionExecutable's UnlinkedCodeBlocks,
we store their offsets in the executable and lazily decode them on the next
call to `unlinkedCodeBlockFor`.

* bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::~UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::visitChildren):
(JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor):
(JSC::UnlinkedFunctionExecutable::decodeCachedCodeBlocks):
* bytecode/UnlinkedFunctionExecutable.h:
* runtime/CachedTypes.cpp:
(JSC::Decoder::Decoder):
(JSC::Decoder::~Decoder):
(JSC::Decoder::create):
(JSC::Decoder::offsetOf):
(JSC::Decoder::cacheOffset):
(JSC::Decoder::ptrForOffsetFromBase):
(JSC::Decoder::handleForEnvironment const):
(JSC::Decoder::setHandleForEnvironment):
(JSC::Decoder::addFinalizer):
(JSC::VariableLengthObject::isEmpty const):
(JSC::CachedWriteBarrier::isEmpty const):
(JSC::CachedFunctionExecutable::unlinkedCodeBlockForCall const):
(JSC::CachedFunctionExecutable::unlinkedCodeBlockForConstruct const):
(JSC::CachedFunctionExecutable::decode const):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::decodeCodeBlockImpl):
(JSC::isCachedBytecodeStillValid):
(JSC::decodeFunctionCodeBlock):
* runtime/CachedTypes.h:
(JSC::Decoder::vm):

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

7 months agoWeb Inspector: REGRESSION(r242118): WI.ScopeBar missing background
drousso@apple.com [Thu, 7 Mar 2019 19:24:23 +0000 (19:24 +0000)]
Web Inspector: REGRESSION(r242118): WI.ScopeBar missing background
https://bugs.webkit.org/show_bug.cgi?id=195299

Reviewed by Joseph Pecoraro.

Rework the way `color`, `background-color`, and `border-color` are set for `WI.ScopeBar` to
use CSS variables instead. Divides the variables into three categories:
 - default: these are the values that the `WI.ScopeBar` would use normally
 - override: these are values that take precidence over the default (e.g. set by other elements)
    - falls back to default when no value is set
 - actual: this is the resulting value that will be used when displaying
    - this way, other elements can "mirror" the styling of the `WI.ScopeBar`

* UserInterface/Views/ScopeBar.css:
(.scope-bar):
(.scope-bar > li):
(.scope-bar > li::before):
(.scope-bar > li:matches(.selected, :hover)):
(.scope-bar > li:not(.selected):hover::after):
(.scope-bar > li.selected:active::after):
(.scope-bar > li.multiple > select):
(body[dir=ltr] .scope-bar > li.multiple > select):
(body[dir=rtl] .scope-bar > li.multiple > select):
(.scope-bar > li.multiple:not(.selected) > select): Added.
(.scope-bar > li.multiple > .arrows):
(.scope-bar > li::before): Deleted.
(.scope-bar.default-item-selected > li.multiple.selected::before): Deleted.
(.scope-bar > li:matches(.selected, :hover)::before): Deleted.
(.scope-bar > li.selected:active::before): Deleted.
(.scope-bar > li.multiple.selected > select): Deleted.
(body[dir=ltr] .scope-bar > li.multiple > .arrows): Deleted.
(body[dir=rtl] .scope-bar > li.multiple > .arrows): Deleted.
(.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows): Deleted.
(.scope-bar > li:matches(.selected, :active)): Deleted.
(@media (prefers-color-scheme: dark)): Deleted.
Switch to using `::after` since `::before` is more commonly used.

* UserInterface/Views/MultipleScopeBarItem.js:
(WI.MultipleScopeBarItem.prototype._handleMouseDown):
Drive-by: fix the <select> alignment by re-firing the "mousedown" event on it.
* UserInterface/Views/AuditTestGroupContentView.js:
(WI.AuditTestGroupContentView.prototype.layout):
* UserInterface/Views/AuditTestGroupContentView.css:
(.content-view.audit-test-group > header > nav > .scope-bar > li):
(.content-view.audit-test-group > header > nav > .scope-bar > li:not(:hover, .selected)):
(.content-view.audit-test-group > header > nav > .scope-bar > li > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.pass > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.warn > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.fail > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.error > img): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li.unsupported > img): Added.
(.content-view.audit-test-group > section > .audit-test-case:first-child, .content-view.audit-test-group > section > .audit-test-case.filtered ~ .audit-test-case:not(.filtered), .content-view.audit-test-group > section > .audit-test-group + .audit-test-case, .content-view.audit-test-group > section > .audit-test-case + .audit-test-group): Added.
(.content-view.audit-test-group > section > .audit-test-case:not(.filtered) ~ .audit-test-case:not(.filtered)): Added.
(.content-view.audit-test-group > header > nav > .scope-bar > li::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.pass::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.warn::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.fail::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.error::before): Deleted.
(.content-view.audit-test-group > header > nav > .scope-bar > li.unsupported::before): Deleted.
(.content-view.audit-test-group > section > .audit-test-case:first-child, .content-view.audit-test-group > section > .audit-test-group + .audit-test-case, .content-view.audit-test-group > section > .audit-test-case + .audit-test-group): Deleted.
Replace the `::before` image with an actual `<img>` now that the `WI.ScopeBar` itself uses
a pseudo-element for the background styling.

* UserInterface/Views/LogContentView.js:
(WI.LogContentView):
* UserInterface/Views/LogContentView.css:
(.log-scope-bar > li:not(.unread) > .indicator): Added.
(.log-scope-bar > li.unread > .indicator): Added.
(.log-scope-bar > li.unread:hover > .indicator): Added.
(.log-scope-bar > li.unread.errors > .indicator): Added.
(.log-scope-bar > li.unread.warnings > .indicator): Added.
(.log-scope-bar > li.unread.logs > .indicator): Added.
(.log-scope-bar > li.unread::before): Deleted.
(body[dir=ltr] .log-scope-bar > li.unread::before): Deleted.
(body[dir=rtl] .log-scope-bar > li.unread::before): Deleted.
(.log-scope-bar > li.unread:hover::before): Deleted.
(.log-scope-bar > li.unread.errors::before): Deleted.
(.log-scope-bar > li.unread.warnings::before): Deleted.
(.log-scope-bar > li.unread.logs::before): Deleted.
Replace the `::before` unread indicator with an actual `<div>` now that the `WI.ScopeBar`
itself uses a pseudo-element for the background styling.

* UserInterface/Views/TimelineRecordingContentView.css:
(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected):
(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple): Deleted.
(.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows): Deleted.

* UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
Drive-by: fix typo.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242604 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 months agoResource Load Statistics: Log first-party navigations with link decoration
wilander@apple.com [Thu, 7 Mar 2019 19:16:38 +0000 (19:16 +0000)]
Resource Load Statistics: Log first-party navigations with link decoration
https://bugs.webkit.org/show_bug.cgi?id=195301
<rdar://problem/48569971>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration.html

This patch adds two new members to WebCore::ResourceLoadStatistics:
- topFrameLinkDecorationsFrom, a set of domains
- gotLinkDecorationFromPrevalentResource, a boolean state

* loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::ResourceLoadStatistics::merge):
* loader/ResourceLoadStatistics.h:

Source/WebKit:

This patch adds a call to the network process' resource load statistics to
log cross-site navigations with link decoration. The logging checks if the
source of the navigation is a prevalent resource and if so, sets the
appropriate flag for the destination.

* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::createSchema):
(WebKit::ResourceLoadStatisticsDatabaseStore::logSubresourceRedirect):
(WebKit::ResourceLoadStatisticsDatabaseStore::logCrossSiteLoadWithLinkDecoration):
* NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
* NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::logCrossSiteLoadWithLinkDecoration):
* NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
* NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::logCrossSiteLoadWithLinkDecoration):
* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::committedCrossSiteLoadWithLinkDecoration):
    This now receives a completion handler. This is in preparation for
    test cases where we need to log such an event and wait for it to
    finish before continuing.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::committedCrossSiteLoadWithLinkDecoration):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::committedCrossSiteLoadWithLinkDecoration):
* UIProcess/WebProcessPool.h:

LayoutTests:

* http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration-expected.txt: Added.
* http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration.html: Added.

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

7 months agoWeb Inspector: CSS: there should be a way to inline-replace a variable with it's...
drousso@apple.com [Thu, 7 Mar 2019 19:11:52 +0000 (19:11 +0000)]
Web Inspector: CSS: there should be a way to inline-replace a variable with it's value
https://bugs.webkit.org/show_bug.cgi?id=195335

Reviewed by Joseph Pecoraro.

* UserInterface/Views/InlineSwatch.js:
(WI.InlineSwatch):
(WI.InlineSwatch.prototype.didDismissPopover):
(WI.InlineSwatch.prototype._swatchElementClicked):
(WI.InlineSwatch.prototype._swatchElementClicked.optionsForType): Added.
Shift-clicking a variable swatch replaces the text with the variable's value.
Drive-by: try to create a readonly swatch for the variable's value (e.g. a color indicator).
* UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
If the value of a variable swatch changes, re-render the value.

* UserInterface/Views/CodeMirrorTextMarkers.js:
(createCodeMirrorTextMarkers):
(createCodeMirrorColorTextMarkers):
(createCodeMirrorGradientTextMarkers):
(createCodeMirrorBezierTextMarkers):
(createCodeMirrorSpringTextMarkers):
Refactor function parameters for more flexibility.

* Localizations/en.lproj/localizedStrings.js:

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

7 months ago[iOS WK] REGRESSION (r242132): Fixed position banners flicker and move when scrolling...
simon.fraser@apple.com [Thu, 7 Mar 2019 18:03:41 +0000 (18:03 +0000)]
[iOS WK] REGRESSION (r242132): Fixed position banners flicker and move when scrolling (Apple, Tesla, YouTube, Reddit)
https://bugs.webkit.org/show_bug.cgi?id=195396
rdar://problem/48518959

Reviewed by Antti Koivisto.

r242132 introduced two issues that contributed to jumpiness of position:fixed layers when scrolling.

First, ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling() would early return if the scroll position
hadn't changed. It also needs to check the supplied layoutViewport (if any), but in some cases running the
notifyRelatedNodesAfterScrollPositionChange() code is necessary even without a scroll position change:
if the web process has committed new scrolling tree state (e.g. with new fixed constraints) since
the last call, we have to run the layer positioning code to have fixed layers re-adjust their position relative
to the root. This was the primary bug fix.

Secondly, a layer tree commit can give ScrollingTreeFrameScrollingNode a new layout viewport, but we need to
adjust this by the scrolling tree's current scroll position in case it gets used before the next scroll.

Currently no way to test this, as it's very timing-dependent.

* page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNode::scrollPositionAndLayoutViewportMatch):
* page/scrolling/ScrollingTreeFrameScrollingNode.h:
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::scrollPositionAndLayoutViewportMatch):
(WebCore::ScrollingTreeScrollingNode::wasScrolledByDelegatedScrolling):
* page/scrolling/ScrollingTreeScrollingNode.h:

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

7 months ago[iOS] Disable permissive call logging in sandbox
pvollan@apple.com [Thu, 7 Mar 2019 17:46:12 +0000 (17:46 +0000)]
[iOS] Disable permissive call logging in sandbox
https://bugs.webkit.org/show_bug.cgi?id=195288
<rdar://problem/47683804>

Reviewed by Brent Fulgham.

As on macOS, we should enable strict call filtering in sandbox on iOS.

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

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

7 months agoIntroduce a quota manager for Cache API/Service Worker/IDB storage
youenn@apple.com [Thu, 7 Mar 2019 17:40:40 +0000 (17:40 +0000)]
Introduce a quota manager for Cache API/Service Worker/IDB storage
https://bugs.webkit.org/show_bug.cgi?id=195283

Reviewed by Chris Dumez.

Source/WebCore:

Introduce a generic quota manager and quota users to be used in Network Process.
Quota manager/users are scoped by client origin.
Quota manager is used to check for quota by an entity wanting to execute a storage task of a given taskSize.
Quota manager will check the current space used by all its quota users.
If the size + taskSize is above quota, it will call a function to try extend the quota.
In the meantime, the task (and all tasks that may be added) are queued.

Once the new quota is received, the quota manager will either allow or disallow the first task in the queue.
The quota manager will try to execute as many tasks as possible with the provided quota.
If some tasks are remaining and quota limit is hit, the quota manager will compute the space needed for all remaining requests
and do another quota extension request.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* page/ClientOrigin.h:
* storage/StorageQuotaManager.cpp: Added.
(WebCore::StorageQuotaManager::~StorageQuotaManager):
(WebCore::StorageQuotaManager::spaceUsage const):
(WebCore::StorageQuotaManager::requestSpace):
(WebCore::StorageQuotaManager::askForMoreSpace):
(WebCore::StorageQuotaManager::processPendingRequests):
* storage/StorageQuotaManager.h: Added.
(WebCore::StorageQuotaManager::StorageQuotaManager):
(WebCore::StorageQuotaManager::addUser):
(WebCore::StorageQuotaManager::removeUser):
* storage/StorageQuotaUser.h: Added.

Source/WebKit:

Remove quota handling from Cache API storage and use StorageQuotaManager/StorageQuotaUser.
CacheStorage::Caches becomes a quota user and has a StorageQuotaManager to check for space for any cache API write task.
NetworkProcess is responsible to manage the quota managers.
Quota managers will go through network process to ask UIProcess for quota extension.

Remove pending callback handling from CacheStorage since they are queued in QuotaManager now.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::~NetworkProcess):
(WebKit::NetworkProcess::destroySession):
(WebKit::NetworkProcess::cacheStorageRootPath):
(WebKit::NetworkProcess::setCacheStorageParameters):
(WebKit::NetworkProcess::storageQuotaManager):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::from):
(WebKit::CacheStorage::Engine::Engine):
(WebKit::CacheStorage::Engine::readCachesFromDisk):
* NetworkProcess/cache/CacheStorageEngine.h:
* NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::Cache::put):
* NetworkProcess/cache/CacheStorageEngineCache.h:
* NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::Caches):
(WebKit::CacheStorage::Caches::~Caches):
(WebKit::CacheStorage::Caches::requestSpace):
(WebKit::CacheStorage::Caches::writeRecord):
* NetworkProcess/cache/CacheStorageEngineCaches.h:

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

7 months agoResource Load Statistics: Make it possible to purge only script-accessible cookies
wilander@apple.com [Thu, 7 Mar 2019 17:22:27 +0000 (17:22 +0000)]
Resource Load Statistics: Make it possible to purge only script-accessible cookies
https://bugs.webkit.org/show_bug.cgi?id=195383
<rdar://problem/48570136>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/resourceLoadStatistics/delete-script-accessible-cookies.html

This patch provides the ability to purge all script-accessible cookies while leaving
HttpOnly cookies in place.

* loader/CookieJar.h:
    Added boolean enum IncludeHttpOnlyCookies for use as function parameter.
* platform/network/NetworkStorageSession.h:
* platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
    Support for the new IncludeHttpOnlyCookies flag.
* platform/network/curl/NetworkStorageSessionCurl.cpp:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
    Stubbed out the new function and added a FIXME comment.
* platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
    Stubbed out the new function and added a FIXME comment.

Source/WebKit:

This patch provides the ability to purge all script-accessible cookies while leaving
HttpOnly cookies in place.

* NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::removeDataRecords):
* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):
    Support for a new boolean flag on whether or not to include HttpOnly Cookies.
* NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):
    Support for a new boolean flag on whether or not to include HttpOnly Cookies.
(WebKit::NetworkProcess::deleteCookiesForTesting):
    Test infrastructure.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::deleteWebsiteDataForRegistrableDomainsInAllPersistentDataStores):
    Support for a new boolean flag on whether or not to include HttpOnly Cookies.
* NetworkProcess/NetworkSession.h:
* UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreStatisticsDeleteCookiesForTesting):
    Test infrastructure.
* UIProcess/API/C/WKWebsiteDataStoreRef.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::deleteCookiesForTesting):
    Test infrastructure.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::deleteCookiesForTesting):
    Test infrastructure.
* UIProcess/WebsiteData/WebsiteDataStore.h:

Tools:

This patch adds test infrastructure to purge only script-accessible cookies,
including a new testRunner function called statisticsDeleteCookiesForHost().git a

* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::statisticsDeleteCookiesForHost):
* WebKitTestRunner/InjectedBundle/TestRunner.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::statisticsDeleteCookiesForHost):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

* http/tests/cookies/resources/set-http-only-cookie.php: Added.
* http/tests/resourceLoadStatistics/delete-script-accessible-cookies-expected.txt: Added.
* http/tests/resourceLoadStatistics/delete-script-accessible-cookies.html: Added.

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

7 months agoREGRESSION(r242364): [WPE] Do not stop the compositing run loop update timer on suspend
commit-queue@webkit.org [Thu, 7 Mar 2019 17:17:16 +0000 (17:17 +0000)]
REGRESSION(r242364): [WPE] Do not stop the compositing run loop update timer on suspend
https://bugs.webkit.org/show_bug.cgi?id=195410

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-03-07
Reviewed by Žan Doberšek.

Calling CompositingRunLoop::stopUpdates() on suspend is leaving the threaded compositor in an inconsistent
state, failing to resume and stopping the updates forever. This is causing timeouts in WPE layout tests. Instead
of calling stopUpdates(), a new suspend() is called, that stops the update timer, without changing the current
updae tha compositing state. A new method resume() is also added to schedule an update if needed.

* Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::suspend): Set state as suspended and stop the update timer.
(WebKit::CompositingRunLoop::resume): Set state as not suspended and start the update timer if it was scheduled
while suspended.
(WebKit::CompositingRunLoop::scheduleUpdate): Do not start the update timer when suspended.
(WebKit::CompositingRunLoop::compositionCompleted): Ditto.
(WebKit::CompositingRunLoop::updateCompleted): Ditto.
(WebKit::CompositingRunLoop::updateTimerFired): Add an assert to ensure the update timer is not fired while suspended.
* Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::suspend): Call CompositingRunLoop::suspend() instead of stopUpdates().
(WebKit::ThreadedCompositor::resume): Call CompositingRunLoop::resume().

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

7 months agoException is a JSCell, not a JSObject.
mark.lam@apple.com [Thu, 7 Mar 2019 10:16:58 +0000 (10:16 +0000)]
Exception is a JSCell, not a JSObject.
https://bugs.webkit.org/show_bug.cgi?id=195392

Reviewed by Saam Barati.

Source/JavaScriptCore:

Exception is a VM implementation construct to carry a stack trace for the point
where it is thrown from.  As a reminder, an Exception is needed because:
1. JS code can throw primitives as well that are non-cells.
2. Error objects capture the stack trace at the point where they are constructed,
   which is not always the same as the point where they are thrown (if they are
   thrown).

Hence, Exception should not be visible to JS code, and therefore should not be a
JSObject.  Hence, it should not inherit from JSDestructibleObject.

This patch changes the following:

1. Exception now inherits directly from JSCell instead.

2. Places where we return an Exception masquerading as a JSObject* are now
   updated to return a nullptr when we encounter an exception.

3. We still return Exception* as JSValue or EncodedJSValue when we encounter an
   exception in functions that return JSValue or EncodedJSValue.  This is because
   the number that implements the following pattern is too numerous:

        return throw<Some Error>(...)

   We'll leave these as is for now.

* bytecode/CodeBlock.h:
(JSC::ScriptExecutable::prepareForExecution):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):
* jit/JITOperations.cpp:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setUpCall):
* runtime/ConstructData.cpp:
(JSC::construct):
* runtime/Error.cpp:
(JSC::throwConstructorCannotBeCalledAsFunctionTypeError):
(JSC::throwTypeError):
(JSC::throwSyntaxError):
* runtime/Error.h:
(JSC::throwRangeError):
* runtime/Exception.cpp:
(JSC::Exception::createStructure):
* runtime/Exception.h:
* runtime/ExceptionHelpers.cpp:
(JSC::throwOutOfMemoryError):
(JSC::throwStackOverflowError):
(JSC::throwTerminatedExecutionException):
* runtime/ExceptionHelpers.h:
* runtime/FunctionConstructor.cpp:
(JSC::constructFunction):
(JSC::constructFunctionSkippingEvalEnabledCheck):
* runtime/IntlPluralRules.cpp:
(JSC::IntlPluralRules::resolvedOptions):
* runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
* runtime/JSObject.h:
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
* runtime/ProgramExecutable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
* runtime/RegExpConstructor.cpp:
(JSC::regExpCreate):
(JSC::constructRegExp):
* runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::prepareForExecutionImpl):
* runtime/ScriptExecutable.h:
* runtime/ThrowScope.cpp:
(JSC::ThrowScope::throwException):
* runtime/ThrowScope.h:
(JSC::ThrowScope::throwException):
(JSC::throwException):
* runtime/VM.cpp:
(JSC::VM::throwException):
* runtime/VM.h:

Source/WebCore:

* bridge/objc/objc_utility.h:
* bridge/objc/objc_utility.mm:
(JSC::Bindings::throwError):
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::throwInvalidAccessError):
* bridge/runtime_object.h:

Source/WebKit:

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::throwInvalidAccessError):
* WebProcess/Plugins/Netscape/JSNPObject.h:

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

7 months agoUpdate WPT tests for embedded content
commit-queue@webkit.org [Thu, 7 Mar 2019 09:28:42 +0000 (09:28 +0000)]
Update WPT tests for embedded content
https://bugs.webkit.org/show_bug.cgi?id=194770

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-07
Reviewed by Rob Buis.

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/html/semantics/embedded-content/META.yml: Added.
* web-platform-tests/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/image-maps/image-map-processing-model/hash-name-reference.html: Added.
* web-platform-tests/html/semantics/embedded-content/image-maps/image-map-processing-model/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/audio_loop_base-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/audio_loop_base.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute-redirect-on-load.https.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute.https.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy-attribute.https.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-allowed-by-feature-policy.https.sub.html.headers: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-default-feature-policy.https.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-disabled-by-feature-policy.https.sub.html.headers: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-supported-by-feature-policy-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-supported-by-feature-policy.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-with-broken-track-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/autoplay-with-broken-track.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/error-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/error.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/error-codes/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/media-elements/event_canplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_canplay_noautoplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_canplaythrough.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_canplaythrough_noautoplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_loadeddata_noautoplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_loadedmetadata.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_loadedmetadata_noautoplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_loadstart.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_loadstart_noautoplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_order_canplay_canplaythrough.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_order_canplay_playing.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_order_loadedmetadata_loadeddata.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_order_loadstart_progress.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_pause.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_pause_noautoplay-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_pause_noautoplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_play.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_play_noautoplay-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_play_noautoplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_playing.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_playing_noautoplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_progress.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_progress_noautoplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_timeupdate.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/event_timeupdate_noautoplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/crossOrigin-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLMediaElement/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/activeCues.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/addCue.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/removeCue.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrack/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/constructor.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCue/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackList/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TrackEvent/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/autoplay-overrides-preload.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-events-networkState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-removes-queued-error-event-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/load-removes-queued-error-event.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-insert-before.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-moved-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-moved.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-addEventListener.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-no-listener-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-no-listener.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-candidate-remove-onerror.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor-no-src-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor-no-src.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-audio-constructor.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-in-sync-event-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-in-sync-event.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-fragment-into-document-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-fragment-into-document.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-document-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-document.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-into-iframe.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-parent-into-document-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-parent-into-document.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-div-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-div.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-namespace-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-in-namespace.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-networkState-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-networkState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-not-in-document-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source-not-in-document.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-insert-source.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-load-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-load.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-networkState-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause-networkState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-pause.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-play-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-play.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document-networkState-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document-networkState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-from-document.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-src-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-remove-src.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-in-namespace-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-in-namespace.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-networkState-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-networkState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src-not-in-document.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-invoke-set-src.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-control-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-control.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-br-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-br.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-source-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-source.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-text-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-insert-text.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source-after-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source-after.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-source.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-text-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-pointer-remove-text.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-source-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-source.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-src-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-remove-src.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resource-selection-source-media.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resources/delayed-broken-video.py: Added.
(main):
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/media-elements/loading-the-media-resource/w3c-import.log: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/location-of-the-media-resource/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/media-elements/mime-types/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_loadstart.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_progress-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/networkState_during_progress.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/currentTime-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/currentTime.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/offsets-into-the-media-resource/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/paused_false_during_play.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/paused_true_during_pause-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/paused_true_during_pause.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/pause-remove-from-document-networkState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/play-in-detached-document.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/playing-the-media-resource/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay-hidden.optional.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/autoplay.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/ready-states/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplay.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_canplaythrough.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_loadeddata.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_loadedmetadata.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/readyState_during_playing.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-currentTime-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-currentTime.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-max-value-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-max-value.htm: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-negative-time-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-negative-time.htm: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/seeking/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/media-elements/user-interface/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/video_loop_base.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/resources/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/svg/intrinsicsize/intrinsicsize-svg-image.tentative-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/svg/intrinsicsize/intrinsicsize-svg-image.tentative.html: Added.
* web-platform-tests/html/semantics/embedded-content/svg/intrinsicsize/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/the-area-element/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/the-area-element/support/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-area-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor.html:
* web-platform-tests/html/semantics/embedded-content/the-audio-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-embed-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-embed-element/document-getters-return-null-for-cross-origin.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-represent-nothing-04.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-embed-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-frame-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-frame-element/document-getters-return-null-for-cross-origin.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-frame-element/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures.html:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage.html.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/document-getters-return-null-for-cross-origin.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allow-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allow.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen.html:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-nosrc-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-nosrc.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_javascript_url_01.htm:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_remove_src.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-1-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-1.html:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2.html:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-3-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-3.html:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_allow_downloads_without_user_activation.sub.tentative.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigation_download_block_downloads_without_user_activation.sub.tentative.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/src-repeated-in-ancestor.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/download_stash.py: Added.
(main):
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe-that-checks-contentDocument.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe_sandbox_download_helper.js: Added.
(StreamDownloadFinishDelay):
(DownloadVerifyDelay):
(VerifyDownload):
(AssertDownloadSuccess):
(AssertDownloadFailure):
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/load-into-the-iframe.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/404-response-with-actual-image-data-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/404-response-with-actual-image-data.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/404-response-with-actual-image-data.py: Added.
(main):
* web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor.html:
* web-platform-tests/html/semantics/embedded-content/the-img-element/available-images-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/available-images-onload-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/available-images-onload.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/available-images.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-iframe.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-path-changes-svg.tentative-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-path-changes-svg.tentative.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-path-changes.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-picture-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-picture.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-svg.tentative-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-svg.tentative.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach-svg.tentative-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach-svg.tentative.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode-with-quick-attach.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/image-decode.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/decode/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html:
* web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html:
* web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-with-responsive-images.tentative-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-with-responsive-images.tentative.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html.headers: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/intrinsicsize/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/TextTrackCueList/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/the-img-element/invalid-src.html:
* web-platform-tests/html/semantics/embedded-content/the-img-element/ismap/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/null-image-source-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/null-image-source.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/relevant-mutations.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/resources/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-display-none-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-display-none.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-quirks-mode-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-quirks-mode.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-standards-mode-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-standards-mode.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-width-1000px-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute-width-1000px.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html: Removed.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-001.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-002-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-dynamic-002.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/parse-a-sizes-attribute.js: Added.
(check):
(onload):
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/sizes-iframed.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-iframed.sub.html.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/srcset-media-dynamic-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/srcset-media-dynamic.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data/fail-to-resolve-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data/fail-to-resolve.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-image-data/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-object-element/document-getters-return-null-for-cross-origin-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-object-element/document-getters-return-null-for-cross-origin.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-object-element/object-events.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-object-element/object-fallback-failed-cross-origin-navigation.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-object-element/object-setcustomvalidity-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-object-element/object-setcustomvalidity.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsic_sizes.htm: Added.
* web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsicsize/intrinsicsize-without-unsized-media.tentative.https.sub.html.headers: Added.
* web-platform-tests/html/semantics/embedded-content/the-video-element/intrinsicsize/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/resources/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/the-video-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/image-maps/w3c-import.log.

LayoutTests:

* TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_allow_downloads_without_user_activation.sub.tentative-expected.txt: Added.
* platform/mac-wk1/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads_without_user_activation.sub.tentative-expected.txt: Added.
* tests-options.json:

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

7 months agoWeb Inspector: Canvas: lazily create the agent
drousso@apple.com [Thu, 7 Mar 2019 08:41:25 +0000 (08:41 +0000)]
Web Inspector: Canvas: lazily create the agent
https://bugs.webkit.org/show_bug.cgi?id=195241

Reviewed by Joseph Pecoraro.

No functionality change.

* html/canvas/CanvasRenderingContext.h:
* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::instances): Added.
(WebCore::CanvasRenderingContext::instancesMutex): Added.
(WebCore::CanvasRenderingContext::CanvasRenderingContext):
(WebCore::CanvasRenderingContext::~CanvasRenderingContext):

* html/canvas/WebGLProgram.h:
* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::instances): Added.
(WebCore::WebGLProgram::instancesMutex): Added.
(WebCore::WebGLProgram::WebGLProgram):
(WebCore::WebGLProgram::~WebGLProgram):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::~WebGLRenderingContextBase):

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::createLazyAgents):

* inspector/agents/InspectorCanvasAgent.h:
* inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::enable):
(WebCore::InspectorCanvasAgent::disable):
(WebCore::InspectorCanvasAgent::frameNavigated):
(WebCore::InspectorCanvasAgent::didCreateCanvasRenderingContext):
(WebCore::InspectorCanvasAgent::canvasDestroyed):
(WebCore::InspectorCanvasAgent::didCreateProgram):
(WebCore::InspectorCanvasAgent::willDeleteProgram):
(WebCore::InspectorCanvasAgent::bindCanvas): Added.
(WebCore::InspectorCanvasAgent::canvasDestroyedTimerFired):

* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didCreateCanvasRenderingContext):
(WebCore::InspectorInstrumentation::didCreateProgram):
(WebCore::InspectorInstrumentation::willDeleteProgram):

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

7 months agoUnreviewed, rolling out r242354.
commit-queue@webkit.org [Thu, 7 Mar 2019 08:06:36 +0000 (08:06 +0000)]
Unreviewed, rolling out r242354.
https://bugs.webkit.org/show_bug.cgi?id=195402

breaks layout tests in all configurations (Requested by
zdobersek on #webkit).

Reverted changeset:

"[WPE] Enable web process sandbox"
https://bugs.webkit.org/show_bug.cgi?id=195169
https://trac.webkit.org/changeset/242354

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

7 months ago[Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t.
ross.kirsling@sony.com [Thu, 7 Mar 2019 07:31:57 +0000 (07:31 +0000)]
[Win] Remove -DUCHAR_TYPE=wchar_t stopgap and learn to live with char16_t.
https://bugs.webkit.org/show_bug.cgi?id=195346

Reviewed by Fujii Hironori.

.:

* Source/cmake/OptionsJSCOnly.cmake:
* Source/cmake/OptionsWin.cmake:
Stop compiling with -DUCHAR_TYPE=wchar_t.

Source/JavaScriptCore:

* jsc.cpp:
(currentWorkingDirectory):
(fetchModuleFromLocalFileSystem):
* runtime/DateConversion.cpp:
(JSC::formatDateTime):
Use wchar helpers as needed.

Source/WebCore:

* platform/graphics/win/FontCacheWin.cpp:
(WebCore::appendLinkedFonts):
(WebCore::getLinkedFonts):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::FontCache::fontFromDescriptionAndLogFont):
(WebCore::createGDIFont):
(WebCore::FontCache::getFontSelectionCapabilitiesInFamily):
* platform/graphics/win/FontCustomPlatformDataCairo.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
* platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/win/IconWin.cpp:
(WebCore::Icon::createIconForFiles):
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::mimeTypeCache):
(WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::itemizeShapeAndPlace):
(WebCore::UniscribeController::shape):
* platform/network/win/DownloadBundleWin.cpp:
(WebCore::DownloadBundle::appendResumeData):
(WebCore::DownloadBundle::extractResumeData):
* platform/text/win/LocaleWin.cpp:
(WebCore::LCIDFromLocaleInternal):
(WebCore::LCIDFromLocale):
(WebCore::LocaleWin::getLocaleInfoString):
* platform/win/BString.cpp:
(WebCore::BString::BString):
* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::getWebLocData):
(WebCore::createGlobalData):
(WebCore::getFileDescriptorData):
(WebCore::getURL):
(WebCore::getCFData):
(WebCore::setCFData):
* platform/win/DragDataWin.cpp:
(WebCore::DragData::asFilenames const):
* platform/win/DragImageWin.cpp:
(WebCore::createDragImageIconForCachedImageFilename):
(WebCore::dragLabelFont):
* platform/win/MIMETypeRegistryWin.cpp:
(WebCore::mimeTypeForExtension):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::read):
(WebCore::filesystemPathFromUrlOrTitle):
(WebCore::Pasteboard::writeURLToDataObject):
(WebCore::createGlobalImageFileDescriptor):
(WebCore::createGlobalHDropContent):
* platform/win/SSLKeyGeneratorWin.cpp:
(WebCore::signedPublicKeyAndChallengeString):
* platform/win/SharedBufferWin.cpp:
(WebCore::SharedBuffer::createFromReadingFile):
* rendering/RenderThemeWin.cpp:
(WebCore::fillFontDescription):
Use wchar helpers as needed.

Source/WebKit:

* Platform/IPC/win/ConnectionWin.cpp:
(IPC::Connection::createServerAndClientIdentifiers):
* Platform/win/ModuleWin.cpp:
(WebKit::Module::load):
* UIProcess/Launcher/win/ProcessLauncherWin.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/win/WebContextMenuProxyWin.cpp:
(WebKit::createMenuItem):
* UIProcess/win/WebView.cpp:
(WebKit::WebView::setToolTip):
* WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
(WebKit::InjectedBundle::initialize):
Use wchar helpers as needed.

Source/WebKitLegacy/win:

* COMPropertyBag.h:
(HashType>::GetPropertyInfo):
(HashType>::LoadObject):
* DOMCoreClasses.cpp:
(DOMNode::addEventListener):
(DOMNode::removeEventListener):
(DOMWindow::addEventListener):
(DOMWindow::removeEventListener):
(DOMElement::font):
* DOMHTMLClasses.cpp:
(DOMHTMLInputElement::setValueForUser):
(DOMHTMLInputElement::replaceCharactersInRange):
* Plugins/PluginDatabaseWin.cpp:
(WebCore::addPluginPathsFromRegistry):
(WebCore::PluginDatabase::getPluginPathsInDirectories const):
(WebCore::addMozillaPluginDirectories):
(WebCore::addWindowsMediaPlayerPluginDirectory):
(WebCore::addAdobeAcrobatPluginDirectory):
(WebCore::addJavaPluginDirectory):
(WebCore::safariPluginsDirectory):
(WebCore::addMacromediaPluginDirectories):
* Plugins/PluginPackageWin.cpp:
(WebCore::getVersionInfo):
(WebCore::PluginPackage::fetchInfo):
(WebCore::PluginPackage::load):
* Plugins/PluginViewWin.cpp:
(WebCore::PluginView::handlePostReadFile):
* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::runOpenPanel):
* WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::checkSpellingOfString):
(WebEditorClient::checkGrammarOfString):
* WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorFrontendClient::updateWindowTitle):
* WebLocalizableStrings.cpp:
(LocalizedString::operator LPCTSTR const):
* WebView.cpp:
(createContextMenuFromItems):
(WebView::setToolTip):
Use wchar helpers as needed.

Source/WTF:

* wtf/PlatformWin.cmake:
* wtf/text/AtomicString.h:
(WTF::AtomicString::AtomicString):
* wtf/text/WTFString.h:
(WTF::String::String):
* wtf/text/win/StringWin.cpp: Added.
(WTF::String::wideCharacters const): Renamed from WTF::stringToNullTerminatedWChar.
* wtf/text/win/WCharStringExtras.h:
(WTF::ucharFrom):
(WTF::wcharFrom):
(WTF::stringToNullTerminatedWChar): Deleted.
(WTF::wcharToString): Deleted.
(WTF::nullTerminatedWCharToString): Deleted.
Add static_assert-guarded reinterpret_cast wrappers for going between UChar* and wchar_t*.
Move existing to/from-String helpers into the String (and AtomicString) class(es).

* wtf/win/FileSystemWin.cpp:
(WTF::FileSystemImpl::getFindData):
(WTF::FileSystemImpl::getFinalPathName):
(WTF::FileSystemImpl::createSymbolicLink):
(WTF::FileSystemImpl::deleteFile):
(WTF::FileSystemImpl::deleteEmptyDirectory):
(WTF::FileSystemImpl::moveFile):
(WTF::FileSystemImpl::pathByAppendingComponent):
(WTF::FileSystemImpl::fileSystemRepresentation):
(WTF::FileSystemImpl::makeAllDirectories):
(WTF::FileSystemImpl::pathGetFileName):
(WTF::FileSystemImpl::storageDirectory):
(WTF::FileSystemImpl::generateTemporaryPath):
(WTF::FileSystemImpl::openTemporaryFile):
(WTF::FileSystemImpl::openFile):
(WTF::FileSystemImpl::hardLinkOrCopyFile):
(WTF::FileSystemImpl::deleteNonEmptyDirectory):
* wtf/win/LanguageWin.cpp:
(WTF::localeInfo):
* wtf/win/PathWalker.cpp:
(WTF::PathWalker::PathWalker):
Use wchar helpers as needed.

Tools:

* TestWebKitAPI/Tests/WTF/StringOperators.cpp:
(TestWebKitAPI::TEST):
Delete wchar tests -- these are MSVC-only and we won't be using String::operator+ going forward anyway.

* DumpRenderTree/win/DumpRenderTree.cpp:
(findFontFallback):
(addFontFallbackIfPresent):
(removeFontFallbackIfPresent):
(main):
* TestWebKitAPI/win/PlatformUtilitiesWin.cpp:
(TestWebKitAPI::Util::moduleDirectory):
(TestWebKitAPI::Util::createInjectedBundlePath):
Use wchar helpers as needed.

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

7 months agoFix incorrect handling of try-finally completion values.
mark.lam@apple.com [Thu, 7 Mar 2019 05:09:53 +0000 (05:09 +0000)]
Fix incorrect handling of try-finally completion values.
https://bugs.webkit.org/show_bug.cgi?id=195131
<rdar://problem/46222079>

Reviewed by Saam Barati and Yusuke Suzuki.

JSTests:

Added many permutations of new test case to test-finally.js.  test-finally.js has
been run on Chrome and Firefox as a sanity check, and we confirmed that all the
tests passes there as well.

* stress/test-finally.js:

Source/JavaScriptCore:

Consider the following:

    function foo() {                        // line 1
        try {
            return 42;                      // line 3
        } finally {
            for (var j = 0; j < 1; j++) {   // line 5
                try {
                    throw '';               // line 7
                } finally {
                    continue;               // line 9
                }
            }
        }                                   // line 11
    }
    var result = foo();

With the current (before fix) code base, result will be the exception object thrown
at line 7.  The expected result should be 42, returned at line 3.

The bug is that we were previously only using one set of completion type and
value registers for the entire function.  This is inadequate because the outer
try-finally needs to preserve its own completion type and value ({ Return, 42 }
in this case) in order to be able to complete correctly.

One might be deceived into thinking that the above example should complete with
the exception thrown at line 7.  However, according to Section 13.15.8 of the
ECMAScript spec, the 'continue' in the finally at line 9 counts as an abrupt
completion.  As a result, it overrides the throw from line 7.  After the continue,
execution resumes at the top of the loop at line 5, followed by a normal completion
at line 11.

Also according to Section 13.15.8, given that the completion type of the outer
finally is normal, the resultant completion of the outer try-finally should be
the completion of the outer try block i.e. { Return, 42 }.

This patch makes the following changes:

1. Fix handling of finally completion to use a unique set of completion
   type and value registers for each FinallyContext.

2. Move the setting of Throw completion type to the out of line exception handler.
   This makes the mainline code slightly less branchy.

3. Introduce emitOutOfLineCatchHandler(), emitOutOfLineFinallyHandler(), and
   emitOutOfLineExceptionHandler() to make it clearer that these are not emitting
   bytecode inline.  Also, these make it clearer when we're emitting a handler
   for a catch vs a finally.

4. Allocate the FinallyContext on the stack instead of as a member of the
   heap allocated ControlFlowScope.  This simplifies its life-cycle management
   and reduces the amount of needed copying.

5. Update emitFinallyCompletion() to propagate the completion type and value to
   the outer FinallyContext when needed.

6. Fix emitJumpIf() to use the right order of operands.  Previously, we were
   only using it to do op_stricteq and op_nstricteq comparisons.  So, the order
   wasn't important.  We now use it to also do op_beloweq comparisons.  Hence,
   the order needs to be corrected.

7. Remove the unused CompletionType::Break and Continue.  These are encoded with
   the jumpIDs of the jump targets instead.

Relevant specifications:
Section 13.15.8: https://www.ecma-international.org/ecma-262/9.0/index.html#sec-try-statement-runtime-semantics-evaluation
Section 6.3.2.4: https://www.ecma-international.org/ecma-262/9.0/index.html#sec-updateempty

* bytecompiler/BytecodeGenerator.cpp:
(JSC::FinallyContext::FinallyContext):
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::pushFinallyControlFlowScope):
(JSC::BytecodeGenerator::popFinallyControlFlowScope):
(JSC::BytecodeGenerator::emitOutOfLineCatchHandler):
(JSC::BytecodeGenerator::emitOutOfLineFinallyHandler):
(JSC::BytecodeGenerator::emitOutOfLineExceptionHandler):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::emitJumpViaFinallyIfNeeded):
(JSC::BytecodeGenerator::emitReturnViaFinallyIfNeeded):
(JSC::BytecodeGenerator::emitFinallyCompletion):
(JSC::BytecodeGenerator::emitJumpIf):
(JSC::BytecodeGenerator::emitCatch): Deleted.
(JSC::BytecodeGenerator::allocateCompletionRecordRegisters): Deleted.
(JSC::BytecodeGenerator::releaseCompletionRecordRegisters): Deleted.
* bytecompiler/BytecodeGenerator.h:
(JSC::FinallyContext::completionTypeRegister const):
(JSC::FinallyContext::completionValueRegister const):
(JSC::ControlFlowScope::ControlFlowScope):
(JSC::BytecodeGenerator::emitLoad):
(JSC::BytecodeGenerator::CompletionRecordScope::CompletionRecordScope): Deleted.
(JSC::BytecodeGenerator::CompletionRecordScope::~CompletionRecordScope): Deleted.
(JSC::BytecodeGenerator::completionTypeRegister const): Deleted.
(JSC::BytecodeGenerator::completionValueRegister const): Deleted.
(JSC::BytecodeGenerator::emitSetCompletionType): Deleted.
(JSC::BytecodeGenerator::emitSetCompletionValue): Deleted.
* bytecompiler/NodesCodegen.cpp:
(JSC::TryNode::emitBytecode):

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

7 months agoWeb Inspector: Elements: highlight the node when hovering event listeners sorted...
drousso@apple.com [Thu, 7 Mar 2019 04:32:50 +0000 (04:32 +0000)]
Web Inspector: Elements: highlight the node when hovering event listeners sorted by node
https://bugs.webkit.org/show_bug.cgi?id=195368

Reviewed by Joseph Pecoraro.

* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):

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

7 months agoWeb Inspector: DOM Debugger: event breakpoints still fire when breakpoints are disabled
drousso@apple.com [Thu, 7 Mar 2019 03:21:19 +0000 (03:21 +0000)]
Web Inspector: DOM Debugger: event breakpoints still fire when breakpoints are disabled
https://bugs.webkit.org/show_bug.cgi?id=195377
<rdar://problem/48651645>

Reviewed by Joseph Pecoraro and Matt Baker.

Source/WebCore:

Test: inspector/dom-debugger/event-listener-breakpoints.html

* inspector/agents/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::willHandleEvent):
(WebCore::InspectorDOMDebuggerAgent::willFireTimer):
(WebCore::InspectorDOMDebuggerAgent::willFireAnimationFrame):

LayoutTests:

* inspector/dom-debugger/event-listener-breakpoints.html:
* inspector/dom-debugger/event-listener-breakpoints-expected.txt:

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

7 months agoCrash when attempting to change input type while dismissing datalist suggestions
wenson_hsieh@apple.com [Thu, 7 Mar 2019 03:11:38 +0000 (03:11 +0000)]
Crash when attempting to change input type while dismissing datalist suggestions
https://bugs.webkit.org/show_bug.cgi?id=195384
<rdar://problem/48563718>

Reviewed by Brent Fulgham.

Source/WebCore:

When closing a datalist suggestion menu, WebPageProxy sends a message to WebPage instructing it to tell its
active datalist suggestions picker to close. However, for a myriad of reasons, the suggestions picker (kept
alive by its text input type) may have already gone away by this point. To mitigate this, make WebPage weakly
reference its active datalist suggestions picker.

Test: fast/forms/datalist/change-input-type-after-closing-datalist-suggestions.html

* platform/DataListSuggestionPicker.h:

Make DataListSuggestionPicker capable of being weakly referenced. Additionally, fix some minor preexisting
issues in this header (#imports instead of #includes, as well as an unnecessary include of IntRect.h).

Source/WebKit:

See WebCore ChangeLog for more details.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setActiveDataListSuggestionPicker):
(WebKit::WebPage::didSelectDataListOption):
(WebKit::WebPage::didCloseSuggestions):
* WebProcess/WebPage/WebPage.h:

Turn m_activeDataListSuggestionPicker from a raw pointer into a WeakPtr.

LayoutTests:

Add a new layout test to exercise this scenario.

* fast/forms/datalist/change-input-type-after-closing-datalist-suggestions-expected.txt: Added.
* fast/forms/datalist/change-input-type-after-closing-datalist-suggestions.html: Added.

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

7 months agoRemove an unneeded assert that was added with r242113
ryanhaddad@apple.com [Thu, 7 Mar 2019 03:03:21 +0000 (03:03 +0000)]
Remove an unneeded assert that was added with r242113
https://bugs.webkit.org/show_bug.cgi?id=195391

Reviewed by Simon Fraser.

Many layout tests are failing ASSERT(m_mediaBufferingIsSuspended). Since m_mediaBufferingIsSuspended is
protected by an 'if' statement directly afterwards, the assertion should be safe to remove.

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

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

7 months agoJSScript should keep the cache file locked for the duration of its existence and...
sbarati@apple.com [Thu, 7 Mar 2019 02:03:39 +0000 (02:03 +0000)]
JSScript should keep the cache file locked for the duration of its existence and should truncate the cache when it is out of date
https://bugs.webkit.org/show_bug.cgi?id=195186

Reviewed by Keith Miller.

This patch makes it so that JSScript will keep its bytecode cache file
locked as long as the JSScript is alive. This makes it obvious that it's
safe to update that file, as it will only be used in a single VM, across
all processes, at a single time. We may be able to extend this in the future
if we can atomically update it across VMs/processes. However, we're choosing
more restricted semantics now as it's always easier to extend these semantics
in the future opposed to having to support the more flexible behavior
up front.

This patch also:
- Adds error messages if writing the cache fails. We don't expect this to
  fail, but previously we would say we cached it even if write() fails.
- Removes the unused m_moduleKey field.
- Makes calling cacheBytecodeWithError with an already non-empty cache file fail.
  In the future, we should extend this to just fill in the parts of the cache
  that are not present. But we don't have the ability to do that yet, so we
  just result in an error for now.

* API/JSScript.mm:
(-[JSScript dealloc]):
(-[JSScript readCache]):
(-[JSScript init]):
(-[JSScript writeCache:]):
* API/JSScriptInternal.h:
* API/tests/testapi.mm:
(testCacheFileIsExclusive):
(testCacheFileFailsWhenItsAlreadyCached):
(testObjectiveCAPI):

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

7 months agoUnreviewed build fix. Replace a forward declaration with an include.
justin_fan@apple.com [Thu, 7 Mar 2019 01:02:59 +0000 (01:02 +0000)]
Unreviewed build fix. Replace a forward declaration with an include.

* Modules/webgpu/WebGPUTextureView.cpp:
* Modules/webgpu/WebGPUTextureView.h:

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

7 months agoWebKitLegacy does not need to generate an export file for i386 anymore
commit-queue@webkit.org [Thu, 7 Mar 2019 00:51:52 +0000 (00:51 +0000)]
WebKitLegacy does not need to generate an export file for i386 anymore
https://bugs.webkit.org/show_bug.cgi?id=195380

Patch by Sam Weinig <sam@webkit.org> on 2019-03-06
Reviewed by Dan Bernstein.

Source/WebKitLegacy:

* WebKitLegacy.xcodeproj/project.pbxproj:
Update and simplify the "Generate Export Files" phase now that we don't need
separate export files for i386 and x86_64.

Source/WebKitLegacy/mac:

* Configurations/WebKitLegacy.xcconfig:
Simplify EXPORTED_SYMBOLS_FILE down to just a single path to a generated file.
It still needs to be generated, since we are concatenating the shared exports
file with a macOS or iOS specific one.

* WebKit.mac.exp:
Remove i386 specific symbols that we were previously stripping.

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

7 months ago[iOS] ProcessDidResume() IPC should be sent upon resuming when ProcessWillSuspendImmi...
cdumez@apple.com [Thu, 7 Mar 2019 00:43:24 +0000 (00:43 +0000)]
[iOS] ProcessDidResume() IPC should be sent upon resuming when ProcessWillSuspendImminently() IPC was sent
https://bugs.webkit.org/show_bug.cgi?id=195382
<rdar://problem/48642739>

Reviewed by Geoffrey Garen.

ProcessDidResume() IPC should be sent upon resuming when ProcessWillSuspendImminently() IPC was sent. Previously,
we only send ProcessDidResume() to the WebProcess if PrepareToSuspend() was sent, not when the more urgent
ProcessWillSuspendImminently() IPC was sent.

This mismatch has lead to bugs because the WebProcess does not know it got resumed and failed to unfreeze the
layers it froze upon suspension.

* UIProcess/ProcessAssertion.h:
(WebKit::ProcessAssertionClient::~ProcessAssertionClient):

* UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::updateAssertion):
(WebKit::ProcessThrottler::uiAssertionWillExpireImminently):
(WebKit::ProcessThrottler::assertionWillExpireImminently): Deleted.

* UIProcess/ProcessThrottler.h:
* UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _notifyClientsOfImminentSuspension]):
(WebKit::ProcessAssertion::~ProcessAssertion):
(WebKit::ProcessAndUIAssertion::~ProcessAndUIAssertion):
(WebKit::ProcessAndUIAssertion::setClient):

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCompletePageTransition):
Revert change that was landed in r242098 to work around this ProcessThrottler bug.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applicationWillEnterForeground):
Revert change that was landed in r242554 to work around this ProcessThrottler bug.

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

7 months agoAdd gettid to allowed syscalls on Mac
achristensen@apple.com [Thu, 7 Mar 2019 00:38:01 +0000 (00:38 +0000)]
Add gettid to allowed syscalls on Mac
https://bugs.webkit.org/show_bug.cgi?id=195386
<rdar://problem/48651255>

Reviewed by Brent Fulgham.

* WebProcess/com.apple.WebProcess.sb.in:

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

7 months agoWeb Inspector: system accent color follow-ups
mattbaker@apple.com [Thu, 7 Mar 2019 00:13:15 +0000 (00:13 +0000)]
Web Inspector: system accent color follow-ups
https://bugs.webkit.org/show_bug.cgi?id=195190

Reviewed by Devin Rousso.

* UserInterface/Views/ButtonToolbarItem.css:
(.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
(@media (prefers-color-scheme: dark)):
(.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)): Deleted.
Drop pressed toolbar button style. It's extremely subtle and not worth the hassle.

* UserInterface/Views/LogContentView.css:
(.console-messages:focus .console-item.selected::after):
(@media (prefers-color-scheme: dark)):

* UserInterface/Views/ScopeBar.css:
(.scope-bar > li.selected:active::before):

* UserInterface/Views/TimelineRecordBar.css:
(.timeline-record-bar.selected > .segment):

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

7 months agoREGRESSION: Elements tab: Uncaught Exception: No node with given id found
mattbaker@apple.com [Thu, 7 Mar 2019 00:09:23 +0000 (00:09 +0000)]
REGRESSION: Elements tab: Uncaught Exception: No node with given id found
https://bugs.webkit.org/show_bug.cgi?id=194299
<rdar://problem/47828647>

Reviewed by Devin Rousso.

When removing the selection, TreeOutline subclasses should have more
control over which item becomes selected after the selection is removed.
DOMTreeOutline should track the items that are being removed, and prevent
them or their descendants from becoming selected.

* UserInterface/Views/DOMTreeOutline.js:
(WI.DOMTreeOutline):
(WI.DOMTreeOutline.prototype.ondelete):
(WI.DOMTreeOutline.prototype.canSelectTreeElement):

* UserInterface/Views/TreeOutline.js:
(WI.TreeOutline.prototype.selectionControllerLastSelectableItem):
(WI.TreeOutline.prototype.selectionControllerPreviousSelectableItem):
(WI.TreeOutline.prototype.selectionControllerNextSelectableItem):
(WI.TreeOutline.prototype.canSelectTreeElement):

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

7 months agoFollowups to (r242306): Use LockHolder instead of std::lock_guard on Remote Inspector...
chris.reid@sony.com [Thu, 7 Mar 2019 00:06:47 +0000 (00:06 +0000)]
Followups to (r242306): Use LockHolder instead of std::lock_guard on Remote Inspector Locks
https://bugs.webkit.org/show_bug.cgi?id=195381

Reviewed by Mark Lam.

Replacing std::lock_guard uses in Remote Inspector with WTF::LockHolder.
Also using `= { }` for struct initialization instead of memeset.

* inspector/remote/RemoteConnectionToTarget.cpp:
* inspector/remote/RemoteInspector.cpp:
* inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:
* inspector/remote/cocoa/RemoteInspectorCocoa.mm:
* inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:
* inspector/remote/glib/RemoteInspectorGlib.cpp:
* inspector/remote/playstation/RemoteInspectorPlayStation.cpp:
* inspector/remote/playstation/RemoteInspectorSocketClientPlayStation.cpp:
* inspector/remote/playstation/RemoteInspectorSocketPlayStation.cpp:
* inspector/remote/playstation/RemoteInspectorSocketServerPlayStation.cpp:

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

7 months ago[Web GPU] GPUTexture and GPUTextureView updates, and related GPUBindGroup updates
justin_fan@apple.com [Wed, 6 Mar 2019 23:57:58 +0000 (23:57 +0000)]
[Web GPU] GPUTexture and GPUTextureView updates, and related GPUBindGroup updates
https://bugs.webkit.org/show_bug.cgi?id=195347

Reviewed by Dean Jackson.

Source/WebCore:

Implement the ability to display image data as a GPUTexture in the rendering pipeline. Improve GPUTexture and
GPUTextureView implementations. Rename various bind group classes to GPU* to match API.

Test: webgpu/texture-triangle-strip.html

* Modules/webgpu/WebGPUBindGroupDescriptor.cpp:
(WebCore::WebGPUBindGroupDescriptor::asGPUBindGroupDescriptor const): Update to validate GPUTextureView resources.
* Modules/webgpu/WebGPUCommandBuffer.cpp: Move instead of copy the converted view objects.
(WebCore::WebGPUCommandBuffer::copyBufferToTexture):
(WebCore::WebGPUCommandBuffer::copyTextureToBuffer):
(WebCore::WebGPUCommandBuffer::copyTextureToTexture):
* Modules/webgpu/WebGPUCommandBuffer.h:
(WebCore::WebGPUCommandBuffer::commandBuffer const): No longer returns const so used resources can be registered on it.
* Modules/webgpu/WebGPUDevice.cpp:
(WebCore::WebGPUDevice::createBindGroupLayout const): Rename WebGPUBindGroupLayoutDescriptor and replace unnecessary rvalue reference.
* Modules/webgpu/WebGPUDevice.h: Ditto.
* Modules/webgpu/WebGPUDevice.idl: Ditto.
* Modules/webgpu/WebGPUProgrammablePassEncoder.cpp:
(WebCore::WebGPUProgrammablePassEncoder::setBindGroup const):
* Modules/webgpu/WebGPUProgrammablePassEncoder.h:
* Modules/webgpu/WebGPUQueue.cpp:
(WebCore::WebGPUQueue::submit):
* Modules/webgpu/WebGPURenderPassDescriptor.cpp:
(WebCore::WebGPURenderPassDescriptor::asGPURenderPassDescriptor const):
* Modules/webgpu/WebGPUTexture.cpp:
(WebCore::WebGPUTexture::~WebGPUTexture): Clean up any resources created for and from this WebGPUTexture.
(WebCore::WebGPUTexture::createDefaultTextureView): Now returns an empty object other than null on failure.
(WebCore::WebGPUTexture::destroy):
(WebCore::WebGPUTexture::destroyImpl):
* Modules/webgpu/WebGPUTexture.h: Keep a list of any views created from this texture.
* Modules/webgpu/WebGPUTexture.idl: Enable destroy.
* Modules/webgpu/WebGPUTextureView.cpp:
(WebCore::WebGPUTextureView::create):
(WebCore::WebGPUTextureView::WebGPUTextureView):
(WebCore::WebGPUTextureView::destroy):
* Modules/webgpu/WebGPUTextureView.h:
(WebCore::WebGPUTextureView::~WebGPUTextureView): Clean up any resources backing this WebGPUTextureView.
(WebCore::WebGPUTextureView::texture const):
(WebCore::WebGPUTextureView::texture): Deleted.
* platform/graphics/gpu/GPUBindGroupLayout.h:
* platform/graphics/gpu/GPUCommandBuffer.h:
(WebCore::GPUCommandBuffer::usedTextures const): Keep a list of all texture resources that will be used by this command buffer on submit.
(WebCore::GPUCommandBuffer::isEncodingPass const): Added to prevent multiple pass encoders from being active on one command buffer.
(WebCore::GPUCommandBuffer::setIsEncodingPass):
(WebCore::GPUCommandBuffer::useTexture):
* platform/graphics/gpu/GPUDevice.cpp:
(WebCore::GPUDevice::tryCreateBindGroupLayout const):
* platform/graphics/gpu/GPUDevice.h:
* platform/graphics/gpu/GPUPipelineLayout.cpp:
(WebCore::GPUPipelineLayout::GPUPipelineLayout):
* platform/graphics/gpu/GPUProgrammablePassEncoder.cpp:
(WebCore::GPUProgrammablePassEncoder::GPUProgrammablePassEncoder):
* platform/graphics/gpu/GPUProgrammablePassEncoder.h:
(WebCore::GPUProgrammablePassEncoder::setVertexBuffer):
(WebCore::GPUProgrammablePassEncoder::setFragmentBuffer):
(): Deleted.
* platform/graphics/gpu/GPUQueue.h:
* platform/graphics/gpu/GPURenderPassEncoder.h:
* platform/graphics/gpu/GPUTexture.h:
(WebCore::GPUTexture::isReadOnly const):
(WebCore::GPUTexture::destroy):
* platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm:
(WebCore::MTLDataTypeForBindingType):
(WebCore::GPUBindGroupLayout::tryCreate):
* platform/graphics/gpu/cocoa/GPUCommandBufferMetal.mm:
(WebCore::GPUCommandBuffer::create):
(WebCore::GPUCommandBuffer::~GPUCommandBuffer): Ensure blitEncoder is ended before releasing it.
(WebCore::GPUCommandBuffer::endBlitEncoding):
(WebCore::GPUCommandBuffer::copyBufferToTexture): Ensure textures are marked for usage before submission occurs.
(WebCore::GPUCommandBuffer::copyTextureToBuffer):
(WebCore::GPUCommandBuffer::copyTextureToTexture):
* platform/graphics/gpu/cocoa/GPUDeviceMetal.mm:
(WebCore::GPUDevice::create):
(WebCore::GPUDevice::GPUDevice):
* platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm:
(WebCore::GPUProgrammablePassEncoder::endPass):
(WebCore::GPUProgrammablePassEncoder::setBindGroup): Now supports texture resources.
(WebCore::GPUProgrammablePassEncoder::setResourceAsBufferOnEncoder): Just moved.
(WebCore::GPUProgrammablePassEncoder::setResourceAsTextureOnEncoder):
* platform/graphics/gpu/cocoa/GPUQueueMetal.mm:
(WebCore::GPUQueue::submit): Ensures destroyed GPUTextures are not submitted.
* platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:
(WebCore::GPURenderPassEncoder::tryCreate): Ensure any other encoders are ended before attempting to activate a new one.
(WebCore::GPURenderPassEncoder::platformPassEncoder const):
(WebCore::GPURenderPassEncoder::endPass): Invalidates the MTLCommandEncoder upon success.
(WebCore::GPURenderPassEncoder::setPipeline):
(WebCore::GPURenderPassEncoder::setVertexBuffers):
(WebCore::GPURenderPassEncoder::draw):
(WebCore::GPURenderPassEncoder::useResource):
(WebCore::GPURenderPassEncoder::setVertexBuffer):
(WebCore::GPURenderPassEncoder::setFragmentBuffer):
* platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm:
(WebCore::GPUSwapChain::getNextTexture):
* platform/graphics/gpu/cocoa/GPUTextureMetal.mm:
(WebCore::storageModeForPixelFormatAndSampleCount):
        Always create MTLStorageModePrivate textures on macOS, as Web GPU doesn't provide CPU access to textures anyway.
(WebCore::tryCreateMtlTextureDescriptor):
(WebCore::GPUTexture::create):
(WebCore::GPUTexture::GPUTexture):
(WebCore::GPUTexture::tryCreateDefaultTextureView): Renamed from createDefaultTextureView.

Update files and symbols in project:
* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* Modules/streams/WebGPUBindGroupLayoutDescriptor.h: Removed.
* Modules/webgpu/GPUBindGroupLayoutBinding.h: Renamed from Source/WebCore/platform/graphics/gpu/GPUBindGroupLayoutBinding.h.
* Modules/webgpu/GPUBindGroupLayoutBinding.idl: Renamed from Source/WebCore/Modules/webgpu/WebGPUBindGroupLayoutBinding.idl.
* Modules/webgpu/GPUBindGroupLayoutDescriptor.h: Renamed from Source/WebCore/platform/graphics/gpu/GPUBindGroupLayoutDescriptor.h.
* Modules/webgpu/GPUBindGroupLayoutDescriptor.idl: Renamed from Source/WebCore/Modules/webgpu/WebGPUBindGroupLayoutDescriptor.idl.
* Modules/webgpu/GPUShaderStageBit.h: Renamed from Source/WebCore/Modules/webgpu/WebGPUShaderStageBit.h.
* Modules/webgpu/GPUShaderStageBit.idl: Renamed from Source/WebCore/Modules/webgpu/WebGPUShaderStageBit.idl.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:

LayoutTests:

* webgpu/blit-commands.html:
* webgpu/resources/blue-checkered.png: Added.
* webgpu/texture-triangle-strip-expected.html: Added. Draw a reference for blue-checkered.png with Canvas2D.
* webgpu/texture-triangle-strip.html: Added. Draw blue-checkered.png as a texture on a Web GPU quad.

Renaming updates, no change in behavior:
* webgpu/bind-groups.html:
* webgpu/buffer-resource-triangles.html:
* webgpu/pipeline-layouts.html:
* webgpu/render-pipelines.html:

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

7 months ago[WHLSL] Pack and unpack data at entry points and exit points
mmaxfield@apple.com [Wed, 6 Mar 2019 23:08:47 +0000 (23:08 +0000)]
[WHLSL] Pack and unpack data at entry points and exit points
https://bugs.webkit.org/show_bug.cgi?id=193877

Reviewed by Dean Jackson.

This implements the bulk of the rest of the Metal code generation piece.
Specifically, this patch adds support for the packing and unpacking steps
at the beginning of the entry point functions and all returns from those
functions. It does this by creating an object, EntryPointScaffolding, that
knows how to emit all the helper types, packing / unpacking code, and the
function signature. This patch also accepts parts of the
PipelineStateDescriptor so we know the data layout we should be packing and
unpacking.

This is the last patch before enough of the compiler is present that we can
start testing it. The next patch will start porting the test suite.

* Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp:
(WebCore::WHLSL::Metal::attributeForSemantic):
(WebCore::WHLSL::Metal::EntryPointScaffolding::EntryPointScaffolding):
(WebCore::WHLSL::Metal::EntryPointScaffolding::mappedBindGroups const):
(WebCore::WHLSL::Metal::EntryPointScaffolding::resourceHelperTypes):
(WebCore::WHLSL::Metal::EntryPointScaffolding::resourceSignature):
(WebCore::WHLSL::Metal::EntryPointScaffolding::builtInsSignature):
(WebCore::WHLSL::Metal::EntryPointScaffolding::mangledInputPath):
(WebCore::WHLSL::Metal::EntryPointScaffolding::mangledOutputPath):
(WebCore::WHLSL::Metal::EntryPointScaffolding::unpackResourcesAndNamedBuiltIns):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::VertexEntryPointScaffolding):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::helperTypes):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::signature):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::unpack):
(WebCore::WHLSL::Metal::VertexEntryPointScaffolding::pack):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::FragmentEntryPointScaffolding):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::helperTypes):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::signature):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::unpack):
(WebCore::WHLSL::Metal::FragmentEntryPointScaffolding::pack):
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::ComputeEntryPointScaffolding):
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::helperTypes):
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::signature):
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::unpack):
(WebCore::WHLSL::Metal::ComputeEntryPointScaffolding::pack):
(WebCore::WHLSL::Metal::EntryPointScaffolding::helperTypes): Deleted.
(WebCore::WHLSL::Metal::EntryPointScaffolding::signature): Deleted.
(WebCore::WHLSL::Metal::EntryPointScaffolding::unpack): Deleted.
(WebCore::WHLSL::Metal::EntryPointScaffolding::pack): Deleted.
* Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h:
(WebCore::WHLSL::Metal::EntryPointScaffolding::parameterVariables):
* Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:
(WebCore::WHLSL::Metal::FunctionDeclarationWriter::toString):
(WebCore::WHLSL::Metal::FunctionDeclarationWriter::visit):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::FunctionDefinitionWriter):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::generateNextVariableName):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::visit):
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::constantExpressionString):
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::RenderFunctionDefinitionWriter):
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::takeVertexMappedBindGroups):
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::takeFragmentMappedBindGroups):
(WebCore::WHLSL::Metal::RenderFunctionDefinitionWriter::createEntryPointScaffolding):
(WebCore::WHLSL::Metal::ComputeFunctionDefinitionWriter::ComputeFunctionDefinitionWriter):
(WebCore::WHLSL::Metal::ComputeFunctionDefinitionWriter::takeMappedBindGroups):
(WebCore::WHLSL::Metal::ComputeFunctionDefinitionWriter::createEntryPointScaffolding):
(WebCore::WHLSL::Metal::sharedMetalFunctions):
(WebCore::WHLSL::Metal::metalFunctions):
* Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.h:
* Modules/webgpu/WHLSL/Metal/WHLSLMappedBindings.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.h.
* Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.cpp:
(WebCore::WHLSL::Metal::generateMetalCodeShared):
(WebCore::WHLSL::Metal::generateMetalCode):
* Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.h:
* Modules/webgpu/WHLSL/WHLSLIntrinsics.h:
(WebCore::WHLSL::Intrinsics::float2Type const):
* Modules/webgpu/WHLSL/WHLSLPipelineDescriptor.h: Added.
* Modules/webgpu/WHLSL/WHLSLPrepare.cpp: Added.
(WebCore::WHLSL::prepareShared):
(WebCore::WHLSL::prepare):
* Modules/webgpu/WHLSL/WHLSLPrepare.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLMetalCodeGenerator.h.
* Modules/webgpu/WHLSL/WHLSLSemanticMatcher.cpp: Added.
(WebCore::WHLSL::findEntryPoint):
(WebCore::WHLSL::matchMode):
(WebCore::WHLSL::matchResources):
(WebCore::WHLSL::matchInputsOutputs):
(WebCore::WHLSL::isAcceptableFormat):
(WebCore::WHLSL::matchVertexAttributes):
(WebCore::WHLSL::matchColorAttachments):
(WebCore::WHLSL::matchDepthAttachment):
(WebCore::WHLSL::matchSemantics):
* Modules/webgpu/WHLSL/WHLSLSemanticMatcher.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp.
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:

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

7 months ago[macOS] Sandbox call violation causes WebContent process to crash
pvollan@apple.com [Wed, 6 Mar 2019 23:08:32 +0000 (23:08 +0000)]
[macOS] Sandbox call violation causes WebContent process to crash
https://bugs.webkit.org/show_bug.cgi?id=195379
<rdar://problem/48647263>

Reviewed by Brent Fulgham.

A new call needs to be added to the allow list in the WebContent process' sandbox.

* WebProcess/com.apple.WebProcess.sb.in:

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

7 months agoAir::reportUsedRegisters must padInterference
sbarati@apple.com [Wed, 6 Mar 2019 22:57:08 +0000 (22:57 +0000)]
Air::reportUsedRegisters must padInterference
https://bugs.webkit.org/show_bug.cgi?id=195303
<rdar://problem/48270343>

Reviewed by Keith Miller.

JSTests:

* stress/optional-def-arg-width-should-be-both-early-and-late-use.js: Added.

Source/JavaScriptCore:

reportUsedRegisters uses reg liveness to eliminate loads/moves into dead
registers. However, liveness can report incorrect results in certain
scenarios when considering liveness at instruction boundaries. For example,
it can go wrong when an Inst has a LateUse of a register and the following
Inst has an EarlyDef of that same register. Such a scenario could lead us
to incorrectly say the register is not live-in to the first Inst. Pad
interference inserts Nops between such instruction boundaries that cause
this issue.

The test with this patch fixes the issue in reportUsedRegisters. This patch
also conservatively makes it so that lowerAfterRegAlloc calls padInterference
since it also reasons about liveness.

* b3/air/AirLowerAfterRegAlloc.cpp:
(JSC::B3::Air::lowerAfterRegAlloc):
* b3/air/AirPadInterference.h:
* b3/air/AirReportUsedRegisters.cpp:
(JSC::B3::Air::reportUsedRegisters):
* b3/testb3.cpp:
(JSC::B3::testReportUsedRegistersLateUseNotDead):
(JSC::B3::run):

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

7 months ago[JSC] AI should not propagate AbstractValue relying on constant folding phase
ysuzuki@apple.com [Wed, 6 Mar 2019 22:34:30 +0000 (22:34 +0000)]
[JSC] AI should not propagate AbstractValue relying on constant folding phase
https://bugs.webkit.org/show_bug.cgi?id=195375

Reviewed by Saam Barati.

JSTests:

* stress/make-rope-should-not-propagate-constant-folded-value-in-ai.js: Added.
(let.array):

Source/JavaScriptCore:

MakeRope rule in AI attempts to propagate the node, which will be produced after constant folding phase runs.
This is wrong since we do not guarantee that constant folding phase runs after AI runs (e.g. DFGSpeculativeJIT
and FTLLowerDFGToB3 run AI). This results in the bug that the value produced at runtime is different from the
proven constant value in AI. In the attached test, AI says the value is SpecStringIdent while the resulted value
at runtime is SpecStringVar, resulting in wrong MakeRope code. This patch removes the path propagating the node
relying on constant folding phase.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

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

7 months agoWeb Inspector: CPU Usage Timeline - Allow clicking a bar in the overview to select...
joepeck@webkit.org [Wed, 6 Mar 2019 22:28:30 +0000 (22:28 +0000)]
Web Inspector: CPU Usage Timeline - Allow clicking a bar in the overview to select a tight time range around it
https://bugs.webkit.org/show_bug.cgi?id=195321

Reviewed by Devin Rousso.

* UserInterface/Models/Timeline.js:
(WI.Timeline.prototype.closestRecordTo):
Helper to get the closest record to a timestamp.

* UserInterface/Views/CPUTimelineOverviewGraph.css:
(.timeline-overview-graph.cpu > .stacked-column-chart):
(.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.selected):
Style a selected record with the active color.

* UserInterface/Views/CPUTimelineOverviewGraph.js:
(WI.CPUTimelineOverviewGraph):
(WI.CPUTimelineOverviewGraph.prototype.get samplingRatePerSecond):
(WI.CPUTimelineOverviewGraph.prototype.reset):
(WI.CPUTimelineOverviewGraph.prototype.layout):
(WI.CPUTimelineOverviewGraph.prototype.updateSelectedRecord):
(WI.CPUTimelineOverviewGraph.prototype._graphPositionForMouseEvent):
(WI.CPUTimelineOverviewGraph.prototype._handleGraphMouseClick):
A click in the overview which hits a rect triggers a selection of
the associated timeline record.

* UserInterface/Views/StackedColumnChart.js:
(WI.StackedColumnChart.prototype.addColumnSet):
(WI.StackedColumnChart.prototype.layout):
Allow setting an additional class name with a column set.
It will set the class name on each rect in that column.

* UserInterface/Views/TimelineOverview.js:
(WI.TimelineOverview.prototype._recordSelected):
When selecting a CPU record, make a selection range of 2 neighboring
columns in each direction.

* UserInterface/Views/TimelineRuler.js:
(WI.TimelineRuler.prototype._handleClick):
When a sub-element has handled the click stop further event propagation.

* UserInterface/Views/TimelineOverviewGraph.js:
(WI.TimelineOverviewGraph.prototype.get selected):
Drive-by style fix.

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

7 months agoWeb Inspector: TimelineOverview clicks do not always behave as expected
joepeck@webkit.org [Wed, 6 Mar 2019 22:28:27 +0000 (22:28 +0000)]
Web Inspector: TimelineOverview clicks do not always behave as expected
https://bugs.webkit.org/show_bug.cgi?id=195319

Reviewed by Devin Rousso.

* UserInterface/Views/TimelineRuler.js:
(WI.TimelineRuler.prototype._shouldIgnoreMicroMovement):
(WI.TimelineRuler.prototype._handleMouseDown):
(WI.TimelineRuler.prototype._handleMouseMove):
Ignore moves that haven't gone more than 4px. Once the threshold is
passed allow all moves. This improves the click behavior since
previously click would never re-dispatch if there was any movement.

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

7 months ago[iOS] Basic hit testing for content overlapping fast-scrollable overflow
antti@apple.com [Wed, 6 Mar 2019 21:05:07 +0000 (21:05 +0000)]
[iOS] Basic hit testing for content overlapping fast-scrollable overflow
https://bugs.webkit.org/show_bug.cgi?id=195360

Reviewed by Simon Fraser.

Source/WebKit:

* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm:
(WebKit::RemoteLayerTreeHost::makeNode):

Use new UIView subclass for tiled layer hosting (so we know they have content even when contents property is nil).

* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
* UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(collectDescendantViewsAtPoint):

Factor collection step into a function.
Do basic skipping of event-transparent layers.

(-[UIView _web_findDescendantViewAtPoint:withEvent:]):

To handle overlap cases, find the scroll view that has the deepest non-transparent view hit as its descendant.

(-[UIView _web_recursiveFindDescendantInteractibleViewAtPoint:withEvent:]): Deleted.

LayoutTests:

* fast/scrolling/ios/overflow-scroll-overlap-expected.txt: Added.
* fast/scrolling/ios/overflow-scroll-overlap.html: Added.

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

7 months agoWeb Inspector: CPU Usage Timeline - Statistics and Sources sections
joepeck@webkit.org [Wed, 6 Mar 2019 20:38:43 +0000 (20:38 +0000)]
Web Inspector: CPU Usage Timeline - Statistics and Sources sections
https://bugs.webkit.org/show_bug.cgi?id=195202

Reviewed by Devin Rousso.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:
New strings.

* UserInterface/Base/Utilities.js:
(Map.prototype.getOrInitialize):
Helper to get and if not found initialize with a value.

* UserInterface/Views/CPUTimelineView.css:
(.timeline-view.cpu > .content > .overview > .chart > .container.stats):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > th):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > td.number):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > td.label):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .show-more):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .filter):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .filter:hover):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .active):
(.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .active + .active):
(@media (prefers-color-scheme: dark)):
Colors for the statistics sections.

* UserInterface/Views/CPUTimelineView.js:
(WI.CPUTimelineView):
(WI.CPUTimelineView.prototype.reset):
(WI.CPUTimelineView.prototype.clear):
(WI.CPUTimelineView.prototype._clearStatistics):
(WI.CPUTimelineView.prototype._clearSources):
Updates for additional sections.
Include a cache of the statisiticsData so we can relayout parts of the UI and
avoid an entire UI update.

(WI.CPUTimelineView.prototype.initialLayout):
(WI.CPUTimelineView.prototype._layoutBreakdownChart):
(WI.CPUTimelineView.prototype._layoutStatisticsAndSources):
(WI.CPUTimelineView.prototype._layoutStatisticsSection.createEllipsisElement):
(WI.CPUTimelineView.prototype._layoutStatisticsSection):
(WI.CPUTimelineView.prototype._layoutSourcesSection.firstNonNativeCallFrame):
(WI.CPUTimelineView.prototype._layoutSourcesSection.keyForSourceCodeLocation):
(WI.CPUTimelineView.prototype._layoutSourcesSection.labelForLocation):
(WI.CPUTimelineView.prototype._layoutSourcesSection.createEllipsisElement):
(WI.CPUTimelineView.prototype._layoutSourcesSection):
Extract layouts into helper methods to avoid an enormous layout method.

(WI.CPUTimelineView.prototype._computeSamplingData.incrementTypeCount):
(WI.CPUTimelineView.prototype._computeSamplingData):
Compute additional data when going through script events.

(WI.CPUTimelineView.prototype._resetSourcesFilters):
(WI.CPUTimelineView.prototype._addSourcesFilter):
(WI.CPUTimelineView.prototype._removeSourcesFilter):
(WI.CPUTimelineView.prototype._updateSourcesFilters):
Helpers for updating the source filters.

(WI.CPUTimelineView.prototype._createTableRow):
(WI.CPUTimelineView.prototype._insertTableRow):
Helpers for creating rows in the statistics / sources tables.

LayoutTests:

* inspector/unit-tests/map-utilities-expected.txt: Added.
* inspector/unit-tests/map-utilities.html: Added.
* inspector/unit-tests/set-utilities-expected.txt:
* inspector/unit-tests/set-utilities.html:

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

7 months agoMove RenderObject::isTransparentOrFullyClippedRespectingParentFrames() to RenderLayer
wenson_hsieh@apple.com [Wed, 6 Mar 2019 20:18:00 +0000 (20:18 +0000)]
Move RenderObject::isTransparentOrFullyClippedRespectingParentFrames() to RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=195300

Reviewed by Simon Fraser.

Source/WebCore:

Move isTransparentOrFullyClippedRespectingParentFrames() from RenderObject to RenderLayer, since this function
asks questions about RenderLayers rather than their renderers. No change in behavior.

* rendering/RenderLayer.cpp:
(WebCore::enclosingFrameRenderLayer):
(WebCore::parentLayerCrossFrame):

Some static helpers currently in RenderObject that walk up the layer hierarchy through subframes are redundant
with static helpers in RenderLayer. Now that isTransparentOrFullyClippedRespectingParentFrames exists in
RenderLayer, simply use this existing helper instead and split logic to grab the enclosing layer around the
owner element of a frame into a separate helper.

* rendering/RenderLayer.h:
* rendering/RenderObject.cpp:
(WebCore::enclosingFrameRenderLayer): Deleted.
(WebCore::parentLayerCrossingFrameBoundaries): Deleted.
(WebCore::RenderObject::isTransparentOrFullyClippedRespectingParentFrames const): Deleted.

Moved from RenderObject.

* rendering/RenderObject.h:

Source/WebKit:

Refactor some logic to use isTransparentOrFullyClippedRespectingParentFrames on RenderLayer rather than
RenderObject; introduce a helper method to ask whether the enclosing layer of a renderer is transparent or
clipped.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::enclosingLayerIsTransparentOrFullyClipped):
(WebKit::WebPage::platformEditorState const):
(WebKit::WebPage::requestEvasionRectsAboveSelection):
(WebKit::WebPage::getFocusedElementInformation):

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

7 months agoWeb Inspector: Simplify chart <rect>s with x/y attributes instead of transform(x, y)
commit-queue@webkit.org [Wed, 6 Mar 2019 20:16:35 +0000 (20:16 +0000)]
Web Inspector: Simplify chart <rect>s with x/y attributes instead of transform(x, y)
https://bugs.webkit.org/show_bug.cgi?id=195352

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2019-03-06
Reviewed by Matt Baker.

* UserInterface/Views/ColumnChart.js:
(WI.ColumnChart.prototype.layout):
(WI.ColumnChart):
* UserInterface/Views/RangeChart.js:
(WI.RangeChart.prototype.layout):
(WI.RangeChart):
* UserInterface/Views/StackedColumnChart.js:
(WI.StackedColumnChart.prototype.layout):
(WI.StackedColumnChart):

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

7 months agoVersioning.
kocsen_chung@apple.com [Wed, 6 Mar 2019 19:57:17 +0000 (19:57 +0000)]
Versioning.

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

7 months ago[WinCairo] Enable additional experimental features
don.olmstead@sony.com [Wed, 6 Mar 2019 19:52:57 +0000 (19:52 +0000)]
[WinCairo] Enable additional experimental features
https://bugs.webkit.org/show_bug.cgi?id=195363

Reviewed by Ross Kirsling.

Turn on ENABLE_APPLICATION_MANIFEST, ENABLE_FILTERS_LEVEL_2, ENABLE_CSS_PAINTING_API,
and ENABLE_VARIATION_FONTS. This will allow testing and development of these features
for Windows.

* Source/cmake/OptionsWin.cmake:

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

7 months agoWeb Inspector: CSS Changes: only show changes for the given node
drousso@apple.com [Wed, 6 Mar 2019 19:22:30 +0000 (19:22 +0000)]
Web Inspector: CSS Changes: only show changes for the given node
https://bugs.webkit.org/show_bug.cgi?id=194608
<rdar://problem/48050206>

Reviewed by Timothy Hatcher.

* UserInterface/Views/ChangesDetailsSidebarPanel.js:
(WI.ChangesDetailsSidebarPanel.prototype.inspect):
(WI.ChangesDetailsSidebarPanel.prototype.supportsDOMNode):
(WI.ChangesDetailsSidebarPanel.prototype.layout):
Make this panel a subclass of `WI.DOMDetailsSidebarPanel` so it has access to the selected
DOM node in the Elements tab.

* UserInterface/Base/Setting.js:
* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createGeneralSettingsView):
Create new general setting for controlling this change.

* Localizations/en.lproj/localizedStrings.js:

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

7 months agoAssertion Failed: m_databaseQueue.isKilled() in UniqueIDBDatabase::~UniqueIDBDatabase()
sihui_liu@apple.com [Wed, 6 Mar 2019 19:20:53 +0000 (19:20 +0000)]
Assertion Failed: m_databaseQueue.isKilled() in UniqueIDBDatabase::~UniqueIDBDatabase()
https://bugs.webkit.org/show_bug.cgi?id=195073
<rdar://problem/48285200>

Reviewed by Geoffrey Garen.

r240931 removed a retain cycle between IDBConnectionToServer and IDBConnectionToServerDelegate, so
IDBConnectionToServerDelegate, or InProcessIDBServer would not live forever. When IDBDatabase is gone,
InProcessIDBServer would schedule a notifification to IDBServer with databaseConnectionClosed. IDBServer would
then notify UniqueIDBDatabase. When UniqueIDBDatabase finds all database connections are gone, it would acquires
its only reference pointer from IDBServer schedule and perform a shutdown that kills its database task queue.

The assertion failure tells us UniqueIDBDatabase was destructed at when IDBServer was destructed, which means
UniqueIDBDatabase had not acquired its pointer. It's probably because UniqueIDBDatabase had unfinished tasks or
the operation timer function had not been executed. Since UniqueIDBDatabase needs to complete shutdown process,
we should make IDBServer live as long as UniqueIDBDatabase by keeping a reference pointer of IDBServer in
UniqueIDBDatabase.

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::deleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::scheduleShutdownForClose):
(WebCore::IDBServer::UniqueIDBDatabase::openBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTask):
(WebCore::IDBServer::UniqueIDBDatabase::postDatabaseTaskReply):
(WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete):
(WebCore::IDBServer::UniqueIDBDatabase::notifyServerAboutClose):
* Modules/indexeddb/server/UniqueIDBDatabase.h:
(WebCore::IDBServer::UniqueIDBDatabase::server):

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

7 months agoREGRESSION (r238490): YouTube.com: Returning PiP to Safari after sleeping device...
cdumez@apple.com [Wed, 6 Mar 2019 19:10:06 +0000 (19:10 +0000)]
REGRESSION (r238490): YouTube.com: Returning PiP to Safari after sleeping device loses page
https://bugs.webkit.org/show_bug.cgi?id=195364
<rdar://problem/48538837>

Reviewed by Geoffrey Garen.

Make sure we unset the LayerTreeFreezeReason::ProcessSuspended layer tree freeze reason
when WebPage::applicationWillEnterForeground() is called. This restores pre-r238490
behavior and addresses the issue with PiP on youtube.com.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applicationWillEnterForeground):

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

7 months agoWeb Inspector: Canvas: color swatches aren't shown for valid inputs with leading...
drousso@apple.com [Wed, 6 Mar 2019 19:08:28 +0000 (19:08 +0000)]
Web Inspector: Canvas: color swatches aren't shown for valid inputs with leading/trailing whitespace
https://bugs.webkit.org/show_bug.cgi?id=195298

Reviewed by Timothy Hatcher.

* UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement._generateDOM):
(WI.RecordingActionTreeElement._createSwatchForColorParameters):
Trim the color string since it can be an arbitrary string, seeing as it is captured before
the <canvas> has a chance to parse/fix it.

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

7 months agoFix WKPasswordView compilation on iOS
dino@apple.com [Wed, 6 Mar 2019 18:14:13 +0000 (18:14 +0000)]
Fix WKPasswordView compilation on iOS
https://bugs.webkit.org/show_bug.cgi?id=195344
<rdar://problem/48620066>

Reviewed by Dan Bates.

Use WebKitAdditions.

* UIProcess/ios/WKPasswordView.mm:
(-[WKPasswordView showInScrollView:]):

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

7 months ago[iOS] Frequent 1 second IPC deadlocks when showing a paste callout
wenson_hsieh@apple.com [Wed, 6 Mar 2019 17:38:37 +0000 (17:38 +0000)]
[iOS] Frequent 1 second IPC deadlocks when showing a paste callout
https://bugs.webkit.org/show_bug.cgi?id=195354
<rdar://problem/48624675>

Reviewed by Tim Horton.

Source/WebKit:

When triggering programmatic paste, we frequently hit deadlocks due to sync IPC going from the UI process to the
web process and vice versa. What happens in this scenario is that prior to triggering programmatic paste, the
page may try to move focus to a different element (e.g. a hidden editable area) before calling `execCommand`.
This causes us to send an ElementDidFocus message to the UI process, followed by RequestDOMPasteAccess.

However, upon receiving ElementDidFocus, we reload input views and (in the process) UIKit requests the
autocorrection context, which we implement in WebKit using a sync message to the web process due to
<rdar://problem/16207002> and its blocking bug <rdar://problem/48383001>. This means we'll end up in a state
where both the UI process and web process are blocked on each other waiting for a sync IPC response, and the UI
process is hung for a second until the IPC message times out.

Ideally, we should fix this by addressing <rdar://problem/16207002>. However, this requires potentially large
changes in UIKit (<rdar://problem/48383001>); for the time being, work around this deadlock by refactoring
synchronous autocorrection context requests such that they can be resolved by an out-of-band IPC response
(HandleAutocorrectionContext). Then prior to requesting DOM paste access, preemptively send a
HandleAutocorrectionContext message to the UI process to unblock any pending synchronous autocorrection context
requests.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleAutocorrectionContext):
* UIProcess/ios/WKContentViewInteraction.h:

Make it possible for WKContentView to remember its current pending autocorrection context completion handler.
This is invoked and cleared out in `-_invokePendingAutocorrectionContextHandler:`.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _invokePendingAutocorrectionContextHandler:]):
(-[WKContentView requestAutocorrectionContextWithCompletionHandler:]):
(-[WKContentView _handleAutocorrectionContext:]):

Handle an autocorrection context response. This is invoked when the web process either handles an autocorrection
context message, or when it preemptively sends an autocorrection context before requesting DOM paste access.

(+[WKAutocorrectionContext emptyAutocorrectionContext]):

Add a helper to create an empty autocorrection context.

* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::requestAutocorrectionContext):
(WebKit::WebPageProxy::handleAutocorrectionContext):
(WebKit::WebPageProxy::autocorrectionContextSync): Deleted.

Removed this sync version, since we now only have requestAutocorrectionContext.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestDOMPasteAccess):

Send WebPageProxy::HandleAutocorrectionContext, and add a FIXME referencing <rdar://problem/16207002>.

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

Split AutocorrectionContextSync into RequestAutocorrectionContext and HandleAutocorrectionContext; additionally,
remove the existing RequestAutocorrectionContext message.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::requestAutocorrectionContext):
(WebKit::WebPage::autocorrectionContextSync): Deleted.

LayoutTests:

Most of these tests currently encounter and rely on the 1 second IPC timeout to finish. To test this fix, force
`ignoreSynchronousMessagingTimeouts=true` to make them fail if the processes encounter a deadlock.

* editing/pasteboard/ios/dom-paste-confirmation.html:
* editing/pasteboard/ios/dom-paste-consecutive-confirmations.html:
* editing/pasteboard/ios/dom-paste-rejection.html:
* editing/pasteboard/ios/dom-paste-requires-user-gesture.html:
* editing/pasteboard/ios/dom-paste-same-origin.html:

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

7 months agoImport new tests from the CSS Text 3 WPT test suite
jfernandez@igalia.com [Wed, 6 Mar 2019 15:57:06 +0000 (15:57 +0000)]
Import new tests from the CSS Text 3 WPT test suite
https://bugs.webkit.org/show_bug.cgi?id=195275

Reviewed by Myles C. Maxfield.

Imported new CSS Text tests from the WPT suite

LayoutTests/imported/w3c:

* web-platform-tests/css/css-text/META.yml: Added.
* web-platform-tests/css/css-text/OWNERS: Removed.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-001-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-001.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-002-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-002.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-003-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-003.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-004-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-004.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-005-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-005.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-006-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-006.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-007-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-007.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-008-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-008.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-009-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-009.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010-expected.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/boundary-shaping-010.html: Added.
* web-platform-tests/css/css-text/boundary-shaping/resources/LinLibertine_Re-4.7.5.woff: Added.
* web-platform-tests/css/css-text/boundary-shaping/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/i18n/support/w3c-import.log.
* web-platform-tests/css/css-text/boundary-shaping/w3c-import.log: Added.
* web-platform-tests/css/css-text/hanging-punctuation/hanging-scrollable-001-expected.html: Added.
* web-platform-tests/css/css-text/hanging-punctuation/hanging-scrollable-001.html: Added.
* web-platform-tests/css/css-text/hanging-punctuation/w3c-import.log:
* web-platform-tests/css/css-text/hyphens/hyphens-auto-001-expected.html: Added.
* web-platform-tests/css/css-text/hyphens/hyphens-auto-001.html: Added.
* web-platform-tests/css/css-text/hyphens/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/i18n/support/w3c-import.log.
* web-platform-tests/css/css-text/i18n/META.yml: Added.
* web-platform-tests/css/css-text/i18n/OWNERS: Removed.
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html:
* web-platform-tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html:
* web-platform-tests/css/css-text/i18n/ja/w3c-import.log:
* web-platform-tests/css/css-text/i18n/support/w3c-import.log:
* web-platform-tests/css/css-text/i18n/w3c-import.log:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html:
* web-platform-tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html:
* web-platform-tests/css/css-text/i18n/zh/w3c-import.log:
* web-platform-tests/css/css-text/inheritance-expected.txt: Added.
* web-platform-tests/css/css-text/inheritance.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-001-expected.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-001.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-002-expected.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-bidi-002.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-end-of-line-001-expected.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-end-of-line-001.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-001-expected.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-001.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-002-expected.html: Added.
* web-platform-tests/css/css-text/letter-spacing/letter-spacing-nesting-002.html: Added.
* web-platform-tests/css/css-text/letter-spacing/w3c-import.log:
* web-platform-tests/css/css-text/line-break/line-break-loose-011-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-011.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-012-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-012.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-013-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-013.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-014-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-021-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-014.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-014.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-015-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-022-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-015.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-015.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-016a-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023a-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-016a.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-016b-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-016b-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-016b.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023b.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-017a-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-017a-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-017a.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-017a.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-017b-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-017b.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b.xht.
* web-platform-tests/css/css-text/line-break/line-break-loose-018-expected.xht: Added.
* web-platform-tests/css/css-text/line-break/line-break-loose-018.xht: Added.
* web-platform-tests/css/css-text/line-break/line-break-normal-011-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-011.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-011.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-012-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-012.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-012.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-013-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-013.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-014-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-021-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-014.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-021.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-015-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-022-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-015.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-022.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-016a-expected.xht: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-016a.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023a.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-016b-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023b-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-016b.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-023b.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-017a-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024a-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-017a.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024a.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-017b-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b-expected.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-017b.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/line-break/line-break-normal-024b.xht.
* web-platform-tests/css/css-text/line-break/line-break-normal-018-expected.xht: Added.
* web-platform-tests/css/css-text/line-break/line-break-normal-018.xht: Added.
* web-platform-tests/css/css-text/line-break/line-break-strict-011-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-011.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-012-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-012.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-013-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-013.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-014-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-014.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-015-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-015.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-016a-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-016a.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-016b-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-016b.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-017a-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-017a.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-017b-expected.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-017b.xht:
* web-platform-tests/css/css-text/line-break/line-break-strict-018-expected.xht: Added.
* web-platform-tests/css/css-text/line-break/line-break-strict-018.xht: Added.
* web-platform-tests/css/css-text/line-break/w3c-import.log:
* web-platform-tests/css/css-text/line-breaking/w3c-import.log:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-001.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-002.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-003-expected.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-003.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-004.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-005-expected.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-005.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-001.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-002-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-002.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-002.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-003-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-003.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-004.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-005.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-fit-content-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-fit-content-001.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-001-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-001.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-002-expected.txt: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-anywhere-span-002.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-002.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003-expected.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-003.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-004-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-004.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-005-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-005.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-006-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-006.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-fit-content-001.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-001-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-001.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-002-expected.txt: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-span-002.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-001.html:
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-002-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-002.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-003-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-003.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-004-expected.html: Added.
* web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-004.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-min-content-size-001.html.
* web-platform-tests/css/css-text/overflow-wrap/w3c-import.log:
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-001.html:
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-002.html:
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-003-expected.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-003.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-004.html:
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-005-expected.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-005.html: Removed.
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-alias-expected.txt: Added.
* web-platform-tests/css/css-text/overflow-wrap/word-wrap-alias.html: Added.
* web-platform-tests/css/css-text/parsing/hanging-punctuation-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/hanging-punctuation-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/hanging-punctuation-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/hanging-punctuation-valid.html: Added.
* web-platform-tests/css/css-text/parsing/hyphens-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/hyphens-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/hyphens-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/hyphens-valid.html: Added.
* web-platform-tests/css/css-text/parsing/letter-spacing-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/letter-spacing-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/letter-spacing-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/letter-spacing-valid.html: Added.
* web-platform-tests/css/css-text/parsing/line-break-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/line-break-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/line-break-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/line-break-valid.html: Added.
* web-platform-tests/css/css-text/parsing/overflow-wrap-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/overflow-wrap-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/overflow-wrap-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/overflow-wrap-valid.html: Added.
* web-platform-tests/css/css-text/parsing/tab-size-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/tab-size-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/tab-size-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/tab-size-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-all-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-all-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-all-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-all-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-last-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-last-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-last-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-last-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-align-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-align-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-indent-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-indent-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-indent-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-indent-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-justify-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-justify-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-justify-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-justify-valid.html: Added.
* web-platform-tests/css/css-text/parsing/text-transform-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-transform-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/text-transform-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/text-transform-valid.html: Added.
* web-platform-tests/css/css-text/parsing/w3c-import.log: Added.
* web-platform-tests/css/css-text/parsing/white-space-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/white-space-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/white-space-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/white-space-valid.html: Added.
* web-platform-tests/css/css-text/parsing/word-break-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-break-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/word-break-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-break-valid.html: Added.
* web-platform-tests/css/css-text/parsing/word-spacing-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-spacing-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/word-spacing-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-spacing-valid.html: Added.
* web-platform-tests/css/css-text/parsing/word-wrap-invalid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-wrap-invalid.html: Added.
* web-platform-tests/css/css-text/parsing/word-wrap-valid-expected.txt: Added.
* web-platform-tests/css/css-text/parsing/word-wrap-valid.html: Added.
* web-platform-tests/css/css-text/support/support/w3c-import.log:
* web-platform-tests/css/css-text/support/w3c-import.log:
* web-platform-tests/css/css-text/tab-size/tab-min-rendered-width-1-expected.html: Added.
* web-platform-tests/css/css-text/tab-size/tab-min-rendered-width-1.html: Added.
* web-platform-tests/css/css-text/tab-size/tab-size-inheritance-001-expected.html: Added.
* web-platform-tests/css/css-text/tab-size/tab-size-inheritance-001.html: Added.
* web-platform-tests/css/css-text/tab-size/tab-size-spacing-001-expected.html: Added.
* web-platform-tests/css/css-text/tab-size/tab-size-spacing-001.html: Added.
* web-platform-tests/css/css-text/tab-size/w3c-import.log:
* web-platform-tests/css/css-text/text-align/w3c-import.log:
* web-platform-tests/css/css-text/text-indent/percentage-value-intrinsic-size-expected.txt: Added.
* web-platform-tests/css/css-text/text-indent/percentage-value-intrinsic-size.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-001-expected.xht:
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-001.xht:
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-002-expected.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-002.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-003-expected.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-003.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-004-expected.html: Added.
* web-platform-tests/css/css-text/text-indent/text-indent-percentage-004.html: Added.
* web-platform-tests/css/css-text/text-indent/w3c-import.log:
* web-platform-tests/css/css-text/text-justify/w3c-import.log:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-001-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-001.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-003-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-003.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-005-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-005.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-007-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-007.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-009-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-009.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-010-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-010.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-011-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-011.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-014-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-014.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-016-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-016.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-018-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-018.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-020-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-020.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-022-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-022.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-024-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-024.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-026-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-026.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-028-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-028.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-030-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-030.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-031-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-031.html:
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-033-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-capitalize-033.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-001-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-001.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-002-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-002.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-003-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-003.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-004-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-004.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-005-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-005.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-006-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-006.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-007-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-full-size-kana-007.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-001-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-001.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-002-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-002.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-003-expected.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-shaping-003.html: Added.
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-001-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-001.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002a-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-002a.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-003-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-003.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-004-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-004.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-005-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-tailoring-005.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-001-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-001.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-002-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-002.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-003-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-003.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-004-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-004.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-005-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-005.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-006-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-006.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-007-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-007.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-008-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-008.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-009-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-009.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-010-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-010.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-011-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-011.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-012-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-012.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-014-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-014.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-015-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-015.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-016-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-016.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-017-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-017.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-018-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-018.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-019-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-019.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-020-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-020.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-021-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-021.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-022-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-022.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-023-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-023.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-024-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-024.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-025-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-025.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-026-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-026.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-027-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-027.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-028-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-028.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-029-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-029.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-030-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-030.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-031-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-031.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-032-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-032.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-033-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-033.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-034-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-034.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-035-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-035.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-038-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-038.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-039.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-040-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-040.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-041-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-041.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-042-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-042.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-043-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-043.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-101-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-101.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-102-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-102.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-103-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-103.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-104-expected.html:
* web-platform-tests/css/css-text/text-transform/text-transform-upperlower-104.html:
* web-platform-tests/css/css-text/text-transform/w3c-import.log:
* web-platform-tests/css/css-text/w3c-import.log:
* web-platform-tests/css/css-text/white-space/break-spaces-001-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/white-space/break-spaces-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008.html.
* web-platform-tests/css/css-text/white-space/break-spaces-002-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-009-expected.html.
* web-platform-tests/css/css-text/white-space/break-spaces-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-009.html.
* web-platform-tests/css/css-text/white-space/break-spaces-004-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-010-expected.html.
* web-platform-tests/css/css-text/white-space/break-spaces-004.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-005-expected.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-005.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-006-expected.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-006.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-007-expected.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-007.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-008-expected.html: Added.
* web-platform-tests/css/css-text/white-space/break-spaces-008.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-000-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-000.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-001.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-002.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-003-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-003.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-004-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-004.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-005-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-005.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-006-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-006.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-007-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-007.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-008-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-008.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00B-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00B.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00D-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00D.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00E-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00E.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00F-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-00F.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-010-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-010.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-011-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-011.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-012-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-012.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-013-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-013.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-014-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-014.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-015-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-015.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-016-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-016.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-017-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-017.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-018-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-018.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-019-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-019.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01A-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01A.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01B-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01B.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01C-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01C.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01D-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01D.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01E-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01E.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01F-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-01F.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-07F-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-07F.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-080-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-080.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-081-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-081.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-082-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-082.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-083-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-083.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-084-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-084.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-085-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-085.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-086-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-086.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-087-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-087.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-088-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-088.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-089-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-089.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08A-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08A.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08B-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08B.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08C-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08C.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08D-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08D.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08E-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08E.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08F-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-08F.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-090-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-090.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-091-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-091.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-092-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-092.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-093-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-093.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-094-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-094.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-095-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-095.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-096-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-096.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-097-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-097.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-098-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-098.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-099-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-099.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09A-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09A.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09B-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09B.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09C-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09C.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09D-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09D.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09E-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09E.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09F-expected.html: Added.
* web-platform-tests/css/css-text/white-space/control-chars-09F.html: Added.
* web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-001.html: Added.
* web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/line-edge-white-space-collapse-002.html: Added.
* web-platform-tests/css/css-text/white-space/pre-float-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/pre-float-001.html: Added.
* web-platform-tests/css/css-text/white-space/pre-wrap-002.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-010.html: Removed.
* web-platform-tests/css/css-text/white-space/pre-wrap-012-expected.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-012.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-013-expected.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-013.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-014-expected.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-014.html:
* web-platform-tests/css/css-text/white-space/pre-wrap-015-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/white-space/pre-wrap-015.html: Added.
* web-platform-tests/css/css-text/white-space/pre-wrap-016-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/white-space/pre-wrap-016.html: Added.
* web-platform-tests/css/css-text/white-space/pre-wrap-float-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/pre-wrap-float-001.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-001.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-002.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-003-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-003.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-004-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-004.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-005-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-005.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-006-expected.html: Added.
* web-platform-tests/css/css-text/white-space/tab-stop-threshold-006.html: Added.
* web-platform-tests/css/css-text/white-space/text-space-collapse-discard-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-discard-001-expected.xht.
* web-platform-tests/css/css-text/white-space/text-space-collapse-discard-001.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-discard-001.xht.
* web-platform-tests/css/css-text/white-space/text-space-collapse-preserve-breaks-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-preserve-breaks-001-expected.xht.
* web-platform-tests/css/css-text/white-space/text-space-collapse-preserve-breaks-001.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-preserve-breaks-001.xht.
* web-platform-tests/css/css-text/white-space/text-space-trim-trim-inner-001-expected.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-trim-inner-001-expected.xht.
* web-platform-tests/css/css-text/white-space/text-space-trim-trim-inner-001.xht: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/white-space-collapsing-trim-inner-001.xht.
* web-platform-tests/css/css-text/white-space/textarea-break-spaces-001-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/white-space/textarea-break-spaces-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-008.html.
* web-platform-tests/css/css-text/white-space/textarea-break-spaces-002-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-009-expected.html.
* web-platform-tests/css/css-text/white-space/textarea-break-spaces-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/textarea-pre-wrap-009.html.
* web-platform-tests/css/css-text/white-space/textarea-pre-wrap-010-expected.html: Removed.
* web-platform-tests/css/css-text/white-space/textarea-pre-wrap-010.html: Removed.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-001.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-002.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-003-expected.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-003.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-004-expected.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-ideographic-space-004.html: Added.
* web-platform-tests/css/css-text/white-space/trailing-space-before-br-001-expected.txt: Added.
* web-platform-tests/css/css-text/white-space/trailing-space-before-br-001.html: Added.
* web-platform-tests/css/css-text/white-space/w3c-import.log:
* web-platform-tests/css/css-text/white-space/white-space-empty-text-sibling-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-empty-text-sibling.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-001.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-002.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-003-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-003.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-004-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-intrinsic-size-004.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-001.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-002-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-002.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-003-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-pre-wrap-trailing-spaces-003.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-wrap-after-nowrap-001-expected.html: Added.
* web-platform-tests/css/css-text/white-space/white-space-wrap-after-nowrap-001.html: Added.
* web-platform-tests/css/css-text/word-break/w3c-import.log:
* web-platform-tests/css/css-text/word-break/word-break-001.html: Removed.
* web-platform-tests/css/css-text/word-break/word-break-002.html: Removed.
* web-platform-tests/css/css-text/word-break/word-break-003.html: Removed.
* web-platform-tests/css/css-text/word-break/word-break-004.html: Removed.
* web-platform-tests/css/css-text/word-break/word-break-break-all-008.html:
* web-platform-tests/css/css-text/word-break/word-break-break-all-009-expected.xht: Removed.
* web-platform-tests/css/css-text/word-break/word-break-break-all-009.xht: Removed.
* web-platform-tests/css/css-text/word-break/word-break-break-all-010-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/word-break/word-break-break-all-010.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-011-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/word-break/word-break-break-all-011.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-012-expected.html: Copied from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/word-break/word-break-break-all-012.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-013-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/white-space/pre-wrap-008-expected.html.
* web-platform-tests/css/css-text/word-break/word-break-break-all-013.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-014-expected.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-014.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-020-expected.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-break-all-020.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-003-expected.html:
* web-platform-tests/css/css-text/word-break/word-break-keep-all-003.html:
* web-platform-tests/css/css-text/word-break/word-break-keep-all-004-expected.xht: Removed.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-004.xht: Removed.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-005-expected.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-005.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-006-expected.html: Added.
* web-platform-tests/css/css-text/word-break/word-break-keep-all-006.html: Added.
* web-platform-tests/css/css-text/writing-system/w3c-import.log: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-font-001-expected.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-font-001.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-line-break-001-expected.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-line-break-001.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-line-break-002-expected.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-line-break-002.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-segment-break-001-expected.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-segment-break-001.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-text-transform-001-expected.html: Added.
* web-platform-tests/css/css-text/writing-system/writing-system-text-transform-001.html: Added.

LayoutTests:

* TestExpectations: Flag tests that are not passing right now.
* platform/gtk/TestExpectations: A few tests pass now.

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

7 months agoUpdate WPT tests for the track element
commit-queue@webkit.org [Wed, 6 Mar 2019 15:21:55 +0000 (15:21 +0000)]
Update WPT tests for the track element
https://bugs.webkit.org/show_bug.cgi?id=195358

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-06
Reviewed by Rob Buis.

LayoutTests/imported/w3c:

* resources/resource-files.json:
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/003.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/004.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/005.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/006.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/007.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/008.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/009.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/010.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/011.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/012.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/013.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/014.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/015.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/016.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/017.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/018.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/019.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/020.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/021.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/022.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/023.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/024.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/025.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/026.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/027.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/028.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/029.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/030.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/031.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/032.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/033.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/034.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/035.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/036.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/037.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/038.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/039.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/040.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/041.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/042.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/043.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/044.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/045.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/046.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/common.js: Added.
(setup):
(window.otherOriginURL.string_appeared_here.location.pathname.replace):
(onload):
(setCrossDomainCookie):
(loadTrack.):
(loadTrack):
(removeLog):
(checkData):
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/cors-tester.py: Added.
(main):
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/remove-cookie.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/set-cookie.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/support/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/w3c-import.log.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/cors/w3c-import.log: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-positioning-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-positioning.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-text-line-position-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/align-text-line-position.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/alignment-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/alignment-ltr.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/alignment.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/bom.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions-fast.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions-gaps.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions-html.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/captions.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/class-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/class.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-id-error.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-id.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-no-id-error.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-no-id.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-recovery-cuetext.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-recovery-header.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-recovery-note.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size-align-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size-align.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cue-size.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues-chrono-order.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues-no-separation.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues-overlapping.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/cues.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/default-styles.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/degenerate-cues.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/empty-cue.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/entities-wrong.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/entities.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/interspersed-non-cue.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/iso2022jp3.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/large-timestamp.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/line-position-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/line-position.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/markup-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/markup.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/metadata-area.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/metadata.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/missed-cues.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/no-newline-at-eof.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/no-timings.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/no-webvtt.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/positioning-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/positioning-ltr.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/positioning.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/settings-bad-separation.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/settings.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/simple-captions.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/sorted-dispatch.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timestamp-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timestamp.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-hour-error.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-hour.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-no-hour-errors.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-no-hour.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/timings-whitespace.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/unsupported-markup.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/utf8.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/valign-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/valign-ltr.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/valign.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/voice-bad.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/voice.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/vp8-vorbis-webvtt.webm: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/webvtt-file.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/resources/webvtt-rubbish.vtt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/src-empty-string.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-active-cues.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-remove-cue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-add-track.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-addtrack-kind.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-change-event-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-change-event.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-css-cue-pseudo-class-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-css-cue-pseudo-class.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-empty-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-empty.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-inline-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-inline.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable-fragment.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-mutable.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-duration-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-duration.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-timestamp-events-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-timestamp-events.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-negative-timestamp.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-added-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-added.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-removed-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-after-controls-removed.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-empty-cue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-line-doesnt-fit.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cue-rendering-transformed-video.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-cuechange.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-enter-exit.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-missed.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-pause-on-exit.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-seeking.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-cues-sorted-before-dispatch.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-default-attribute.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-delete-during-setup-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-delete-during-setup.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-disabled-addcue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-disabled.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-dom-change-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-dom-change.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change-error.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-element-src-change.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-helpers.js: Added.
(enableAllTextTracks):
(assert_cues_equal):
(assert_cues_match):
(assert_cues_html_content):
(check_cues_from_track):
(assert_cue_fragment_as_textcontent):
(createFragment):
(cloneChildrenToFragment):
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-id-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-id.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-insert-after-load.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-large-timestamp.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-error-readyState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-from-element-readyState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-from-src-readyState-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-load-from-src-readyState.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-disabled.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-not-changed-by-new-track.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode-triggers-loading.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-mode.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-node-add-remove-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-node-add-remove.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-active-cue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-by-setting-innerHTML.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-insert-ready-state.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-quickly-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-quickly.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-track-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-track-inband.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-remove-track.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-metadata-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-selection-metadata.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-text-track-cue-list.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-texttracks-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-texttracks.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-positioning-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-positioning.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-text-line-position-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-align-text-line-position.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-alignment.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-blank-lines.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-bom.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-class-markup.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-identifiers.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-no-id.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-recovery.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-size-align.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-cue-size.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-degenerate-cues.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-empty-cue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-entities.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-header-comment-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-header-comment.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-interspersed-non-cue.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-line-position-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-line-position.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-magic-header-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-magic-header.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-markup.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-newlines.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-no-timings.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-non-snap-to-lines.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-positioning.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-settings.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timestamp.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-hour-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-hour.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-no-hours-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-no-hours.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-timings-whitespace.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end-expected.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-two-cue-layout-after-first-end.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-unsupported-markup.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-utf8-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-utf8.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-valign.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/track-webvtt-voice.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/vtt-cue-float-precision-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/vtt-cue-float-precision.html: Added.
* web-platform-tests/html/semantics/embedded-content/media-elements/track/track-element/w3c-import.log:

LayoutTests:

* TestExpectations: Add expectations for new tests.

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

7 months agoConsider supporting the `referrerpolicy` attribute.
commit-queue@webkit.org [Wed, 6 Mar 2019 11:28:38 +0000 (11:28 +0000)]
Consider supporting the `referrerpolicy` attribute.
https://bugs.webkit.org/show_bug.cgi?id=179053

Patch by Rob Buis <rbuis@igalia.com> on 2019-03-06
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Update improved results.

* web-platform-tests/html/dom/reflection-embedded-expected.txt:

Source/WebCore:

This patch adds 'referrerpolicy' attribute support for iframe.
If set, the value is restricted to the ReferrerPolicy enum, and
if valid it is used for the subframe load.
If not set or invalid, the current behavior is kept.

Tests: http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/no-referrer-when-downgrade/same-origin.html
       http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/no-referrer/same-origin.html
       http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/origin-when-cross-origin/same-origin.html
       http/tests/referrer-policy-iframe/origin/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/origin/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/origin/same-origin.html
       http/tests/referrer-policy-iframe/same-origin/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/same-origin/same-origin.html
       http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/same-origin.html
       http/tests/referrer-policy-iframe/strict-origin/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/strict-origin/same-origin.html
       http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http.html
       http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https.html
       http/tests/referrer-policy-iframe/unsafe-url/same-origin.html

* html/HTMLAttributeNames.in:
* html/HTMLFrameOwnerElement.h:
(WebCore::HTMLFrameOwnerElement::referrerPolicy const):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::setReferrerPolicyForBindings):
(WebCore::HTMLIFrameElement::referrerPolicyForBindings const):
(WebCore::HTMLIFrameElement::referrerPolicy const):
* html/HTMLIFrameElement.h:
* html/HTMLIFrameElement.idl:
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadSubframe):
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::referrerPolicyAttributeEnabled const):
(WebCore::RuntimeEnabledFeatures::setReferrerPolicyAttributeEnabled):
* platform/ReferrerPolicy.cpp:
(WebCore::parseReferrerPolicy):
* platform/ReferrerPolicy.h:

Source/WebKit:

Add a runtime flag for referrerpolicy attribute.

* Shared/WebPreferences.yaml:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetReferrerPolicyAttributeEnabled):
(WKPreferencesGetReferrerPolicyAttributeEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::loadResource): do not hardcode choosing
the document referrer policy.

Source/WebKitLegacy/mac:

Add a runtime flag for referrerpolicy attribute.

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

Tools:

Add a runtime flag for referrerpolicy attribute.

* DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):

LayoutTests:

Add tests for referrerpolicy attribute based on the referrer-policy
meta referrer tests.
Update improved results for reflection-embedded.html.
Mark some of the tests as Failure on windows.

* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer-when-downgrade/same-origin.html: Added.
* http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/no-referrer/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/no-referrer/same-origin.html: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin-when-cross-origin/same-origin.html: Added.
* http/tests/referrer-policy-iframe/origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/origin/same-origin.html: Added.
* http/tests/referrer-policy-iframe/same-origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/same-origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/same-origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/same-origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/same-origin/same-origin.html: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin-when-cross-origin/same-origin.html: Added.
* http/tests/referrer-policy-iframe/strict-origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/strict-origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/strict-origin/same-origin.html: Added.
* http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http-http.html: Added.
* http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy-iframe/unsafe-url/cross-origin-http.https.html: Added.
* http/tests/referrer-policy-iframe/unsafe-url/same-origin-expected.txt: Added.
* http/tests/referrer-policy-iframe/unsafe-url/same-origin.html: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
* platform/ios/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
* platform/win/TestExpectations:

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

7 months agoUpdate WPT tests for the canvas element
fred.wang@free.fr [Wed, 6 Mar 2019 10:31:25 +0000 (10:31 +0000)]
Update WPT tests for the canvas element
https://bugs.webkit.org/show_bug.cgi?id=195331

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-06
Reviewed by Youenn Fablet.

* resources/import-expectations.json:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.whitespace.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/w3c-import.log:

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

7 months agoUnreviewed, WPE build fix after r242503
philn@webkit.org [Wed, 6 Mar 2019 10:25:23 +0000 (10:25 +0000)]
Unreviewed, WPE build fix after r242503

* WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
ServiceWorker messages moved from network process to another
header, so it needs to be included.

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

7 months agoAdd referrer-policy tests
commit-queue@webkit.org [Wed, 6 Mar 2019 07:37:20 +0000 (07:37 +0000)]
Add referrer-policy tests
https://bugs.webkit.org/show_bug.cgi?id=195269

Patch by Rob Buis <rbuis@igalia.com> on 2019-03-05
Reviewed by Daniel Bates.

The tests in http/tests/referrer-policy do not test all referrer-policy
values, add the remaining values.

* http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http-http.html: Added.
* http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy/no-referrer-when-downgrade/cross-origin-http.https.html: Added.
* http/tests/referrer-policy/no-referrer-when-downgrade/same-origin-expected.txt: Added.
* http/tests/referrer-policy/no-referrer-when-downgrade/same-origin.html: Added.
* http/tests/referrer-policy/no-referrer/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy/no-referrer/cross-origin-http-http.html: Added.
* http/tests/referrer-policy/no-referrer/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy/no-referrer/cross-origin-http.https.html: Added.
* http/tests/referrer-policy/no-referrer/same-origin-expected.txt: Added.
* http/tests/referrer-policy/no-referrer/same-origin.html: Added.
* http/tests/referrer-policy/origin/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy/origin/cross-origin-http-http.html: Added.
* http/tests/referrer-policy/origin/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy/origin/cross-origin-http.https.html: Added.
* http/tests/referrer-policy/origin/same-origin-expected.txt: Added.
* http/tests/referrer-policy/origin/same-origin.html: Added.
* http/tests/referrer-policy/unsafe-url/cross-origin-http-http-expected.txt: Added.
* http/tests/referrer-policy/unsafe-url/cross-origin-http-http.html: Added.
* http/tests/referrer-policy/unsafe-url/cross-origin-http.https-expected.txt: Added.
* http/tests/referrer-policy/unsafe-url/cross-origin-http.https.html: Added.
* http/tests/referrer-policy/unsafe-url/same-origin-expected.txt: Added.
* http/tests/referrer-policy/unsafe-url/same-origin.html: Added.

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

7 months agoUpdate expected API test result following r242379
dbates@webkit.org [Wed, 6 Mar 2019 05:48:29 +0000 (05:48 +0000)]
Update expected API test result following r242379
(https://bugs.webkit.org/show_bug.cgi?id=195125)

Update expected x-coordinate of selection rect now that the left padding of
a textarea is sized in ems (so dependent on the font size) just like the left
padding of a text field.

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

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

7 months ago[curl] Remove unnecessary file.
commit-queue@webkit.org [Wed, 6 Mar 2019 04:11:25 +0000 (04:11 +0000)]
[curl] Remove unnecessary file.
https://bugs.webkit.org/show_bug.cgi?id=195350

Patch by Takashi Komori <Takashi.Komori@sony.com> on 2019-03-05
Reviewed by Fujii Hironori.

Removed unused file.

No new tests. No change in behavior.

* platform/network/curl/CookieJarCurlDatabase.cpp: Removed.

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

7 months agoAX: Add remote search support for keyboard focusable element search type
commit-queue@webkit.org [Wed, 6 Mar 2019 04:01:47 +0000 (04:01 +0000)]
AX: Add remote search support for keyboard focusable element search type
https://bugs.webkit.org/show_bug.cgi?id=195336

Patch by Eric Liang <ericliang@apple.com> on 2019-03-05
Reviewed by Chris Fleizach.

Source/WebCore:

Added AXKeyboardFocusable search key to return default keyboard-focusable elements for accessibility.

Test: accessibility/mac/search-predicate-keyboard-focusable.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
(WebCore::AccessibilityObject::isKeyboardFocusable const):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(createAccessibilitySearchKeyMap):

LayoutTests:

Added test that verifies search with AXKeyboardFocusableSearchKey returns the default keyboard-focusable elements.

* accessibility/mac/search-predicate-keyboard-focusable-expected.txt: Added.
* accessibility/mac/search-predicate-keyboard-focusable.html: Added.

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

7 months ago[WinCairo] Enable CSS Typed OM
don.olmstead@sony.com [Wed, 6 Mar 2019 02:15:57 +0000 (02:15 +0000)]
[WinCairo] Enable CSS Typed OM
https://bugs.webkit.org/show_bug.cgi?id=195340

Reviewed by Myles C. Maxfield.

.:

* Source/cmake/OptionsWin.cmake:

Source/WebCore:

* bindings/js/CallTracerTypes.h:

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

7 months agoFix a typo in Web SQL quirk
sihui_liu@apple.com [Wed, 6 Mar 2019 01:50:54 +0000 (01:50 +0000)]
Fix a typo in Web SQL quirk
https://bugs.webkit.org/show_bug.cgi?id=195338

Reviewed by Geoffrey Garen.

* page/Quirks.cpp:
(WebCore::Quirks::hasWebSQLSupportQuirk const):

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

7 months ago[WK2] It should be possible to follow links with 'download' attributes
david_quesada@apple.com [Wed, 6 Mar 2019 00:48:44 +0000 (00:48 +0000)]
[WK2] It should be possible to follow links with 'download' attributes
https://bugs.webkit.org/show_bug.cgi?id=195145
rdar://problem/48462642

Reviewed by Alex Christensen.

Source/WebKit:

When a link with a 'download' attribute is clicked and the navigation client
says to allow the navigation (i.e. provides PolicyAction::Use),
WebPageProxy::receivedNavigationPolicyDecision() should stop overriding this
decision and downloading the link instead. Instead, web view should honor the
policy chosen by the navigation delegate. This supports clients that want to
offer the user the ability to view, rather than download, the contents of
such links, which is permitted per the HTML spec.

This change is only made on Cocoa platforms for now since no other ports
expose an API on their navigation action to express whether the page intends
to download the linked resource.

* UIProcess/API/APINavigation.h:
(API::Navigation::shouldPerformDownload const):
    Rename this to be in line with APINavigationAction's shouldPerformDownload()
    for consistency. 'Force' seems like too strong of a word for this property
    considering that 'forcing' the download isn't really an attribute inherent
    to the navigation, but a behavior implemented by the web page proxy.
(API::Navigation::shouldForceDownload const): Deleted.
* UIProcess/Cocoa/VersionChecks.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):

Tools:

Add a unit test to verify that activating links with 'download' attributes now
navigates to the linked resource, rather than starts downloading it. Add another
to verify that it is still possible to explicitly download the link via the
'Download' navigation action policy.

* TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[DownloadAttributeTestDelegate init]):
(-[DownloadAttributeTestDelegate waitForDidFinishNavigation]):
(-[DownloadAttributeTestDelegate waitForDownloadDidStart]):
(-[DownloadAttributeTestDelegate webView:didFinishNavigation:]):
(-[DownloadAttributeTestDelegate webView:didStartProvisionalNavigation:]):
(-[DownloadAttributeTestDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[DownloadAttributeTestDelegate _downloadDidStart:]):
(TEST):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::decidePolicyForNavigationAction):
* WebKitTestRunner/TestController.h:

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

7 months agoWeb Inspector: recordsInTimeRange sometimes does not get the expected record when...
commit-queue@webkit.org [Wed, 6 Mar 2019 00:40:44 +0000 (00:40 +0000)]
Web Inspector: recordsInTimeRange sometimes does not get the expected record when includeRecordBeforeStart
https://bugs.webkit.org/show_bug.cgi?id=195317

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

* UserInterface/Models/Timeline.js:
(WI.Timeline.prototype.recordsOverlappingTimeRange):

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

7 months agoop_switch_char broken for rope strings after JSRopeString layout rewrite
sbarati@apple.com [Wed, 6 Mar 2019 00:20:07 +0000 (00:20 +0000)]
op_switch_char broken for rope strings after JSRopeString layout rewrite
https://bugs.webkit.org/show_bug.cgi?id=195339
<rdar://problem/48592545>

Reviewed by Yusuke Suzuki.

JSTests:

* stress/switch-on-char-llint-rope.js: Added.

Source/JavaScriptCore:

When we did the JSString rewrite, we accidentally broke LLInt's switch_char
for rope strings. That change made it so that we always go to the slow path
for ropes. That's wrong. The slow path should only be taken when the rope
is of length 1. For lengths other than 1, we need to fall through to the
default case. This patch fixes this.

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSString.h:

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

7 months ago[iOS] Should not scroll when checkbox, radio, submit, reset, or button is spacebar...
dbates@webkit.org [Tue, 5 Mar 2019 23:40:08 +0000 (23:40 +0000)]
[iOS] Should not scroll when checkbox, radio, submit, reset, or button is spacebar activated
https://bugs.webkit.org/show_bug.cgi?id=195281
<rdar://problem/48564347>

Reviewed by Simon Fraser.

Source/WebCore:

Do not call the base class's default event handler (HTMLTextFormControlElement::defaultEventHandler())
when WebCore sees a keydown of the spacebar as we consider such an event as handled.
Otherwise, calling the base class's default event handler ultimately gives the embedding
client a chance to wrongly handle the event. In the case of iOS, keydown of the spacebar
causes the page to scroll.

WebCore implements spacebar activation on keydown for form controls. For IE compatibility
WebCore does not mark such keydown events as handled so that a DOM keypress event will
be subsequently dispatched. The current logic only skips calling the base class's default
event handler if the DOM event was not marked handled. This is insufficient. We need to
know whether WebCore handled the event. If asking the input type to handle the key down
marks the DOM event as handled then, clearly, WebCore handled the event. However, if the
event is not marked as handled, but WebCore actually accounted for this event then we need
to know this so that we do not call the base class's default event handler and ultimately
the embedding client asking for an interpretation of the key event. Towards this, have
InputType::handleKeydownEvent() return a bit whether or not the base class's default
event handler should be invoked.

Tests: fast/events/ios/activating-button-should-not-scroll-page.html
       fast/events/ios/activating-checkbox-should-not-scroll-page.html
       fast/events/ios/activating-radio-button-should-not-scroll-page.html
       fast/events/ios/activating-reset-button-should-not-scroll-page.html
       fast/events/ios/activating-submit-button-should-not-scroll-page.html

* html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::handleKeydownEvent): Return ShouldCallBaseEventHandler::No
if WebCore handled the spacebar activation. Otherewise, return ShouldCallBaseEventHandler::Yes.
* html/BaseCheckableInputType.h:
* html/BaseChooserOnlyDateAndTimeInputType.cpp:
(WebCore::BaseChooserOnlyDateAndTimeInputType::handleKeydownEvent): Ditto.
* html/BaseChooserOnlyDateAndTimeInputType.h:
* html/BaseClickableWithKeyInputType.cpp:
(WebCore::BaseClickableWithKeyInputType::handleKeydownEvent): Keep our current behavior by returning ShouldCallBaseEventHandler::Yes.
* html/BaseClickableWithKeyInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::defaultEventHandler): Do not fallthrough and call the base class's default
event handler if the input type told us it handled the event regardless of whether the event was handled
from the perspective of the DOM.
* html/InputType.cpp:
(WebCore::InputType::handleKeydownEvent): Keep our current behavior by returning ShouldCallBaseEventHandler::Yes.
* html/InputType.h:

* html/NumberInputType.cpp:
(WebCore::NumberInputType::handleKeydownEvent):
* html/NumberInputType.h:
* html/RadioInputType.cpp:
(WebCore::RadioInputType::handleKeydownEvent):
* html/RadioInputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):
* html/RangeInputType.h:
* html/SearchInputType.cpp:
(WebCore::SearchInputType::handleKeydownEvent):
* html/SearchInputType.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::handleKeydownEvent):
* html/TextFieldInputType.h:
Keep our current behavior by returning ShouldCallBaseEventHandler::Yes.

LayoutTests:

Add some tests to ensure that we do not scroll when a checkbox, radio, submit, reset, or button
is spacebar activated.

* fast/events/ios/activating-button-should-not-scroll-page-expected.txt: Added.
* fast/events/ios/activating-button-should-not-scroll-page.html: Added.
* fast/events/ios/activating-checkbox-should-not-scroll-page-expected.txt: Added.
* fast/events/ios/activating-checkbox-should-not-scroll-page.html: Added.
* fast/events/ios/activating-radio-button-should-not-scroll-page-expected.txt: Added.
* fast/events/ios/activating-radio-button-should-not-scroll-page.html: Added.
* fast/events/ios/activating-reset-button-should-not-scroll-page-expected.txt: Added.
* fast/events/ios/activating-reset-button-should-not-scroll-page.html: Added.
* fast/events/ios/activating-submit-button-should-not-scroll-page-expected.txt: Added.
* fast/events/ios/activating-submit-button-should-not-scroll-page.html: Added.
* fast/events/ios/resources/press-spacebar-at-element-and-check-for-page-scroll.js: Added.
(done):
(handleInteraction.checkForScrollAndDone):
(handleInteraction):
(handleScroll):
(handleFocus):
(checkActivatingElementUsingSpacebarDoesNotScrollPage):
* platform/ios/TestExpectations: Skip the tests for now until ENABLE(FULL_KEYBOARD_ACCESS) is enabled
by default on iOS.

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

7 months ago[Curl] Implement Cookie Accept Policy.
commit-queue@webkit.org [Tue, 5 Mar 2019 23:36:56 +0000 (23:36 +0000)]
[Curl] Implement Cookie Accept Policy.
https://bugs.webkit.org/show_bug.cgi?id=191645

Patch by Takashi Komori <Takashi.Komori@sony.com> on 2019-03-05
Reviewed by Fujii Hironori.

Source/WebCore:

Make Curl network layer respect to coookie accept policy.
This patch fixes tests below on TestRunner, but doesn't fix tests on DumpRenderTree.

Tests: http/tests/cookies/only-accept-first-party-cookies.html
       http/tests/cookies/third-party-cookie-relaxing.html
       http/tests/security/cookies/third-party-cookie-blocking-redirect.html
       http/tests/security/cookies/third-party-cookie-blocking-user-action.html
       http/tests/security/cookies/third-party-cookie-blocking-xslt.xml
       http/tests/security/cookies/third-party-cookie-blocking.html

* platform/network/curl/CookieJarCurl.cpp:
(WebCore::cookiesForSession):
(WebCore::CookieJarCurl::setCookiesFromDOM const):
(WebCore::CookieJarCurl::setCookiesFromHTTPResponse const):
(WebCore::CookieJarCurl::setCookieAcceptPolicy const):
(WebCore::CookieJarCurl::cookieAcceptPolicy const):
(WebCore::CookieJarCurl::getRawCookies const):
* platform/network/curl/CookieJarCurl.h:
* platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::openDatabase):
(WebCore::CookieJarDB::isEnabled const):
(WebCore::CookieJarDB::checkCookieAcceptPolicy):
(WebCore::CookieJarDB::hasCookies):
(WebCore::CookieJarDB::searchCookies):
(WebCore::CookieJarDB::canAcceptCookie):
(WebCore::CookieJarDB::setCookie):
(WebCore::CookieJarDB::setEnabled): Deleted.
* platform/network/curl/CookieJarDB.h:
(WebCore::CookieJarDB::setAcceptPolicy):
(WebCore::CookieJarDB::acceptPolicy const):
* platform/network/curl/CookieUtil.cpp:
(WebCore::CookieUtil::parseCookieAttributes):
(WebCore::CookieUtil::parseCookieHeader):
* platform/network/curl/CurlResourceHandleDelegate.cpp:
(WebCore::handleCookieHeaders):
(WebCore::CurlResourceHandleDelegate::curlDidReceiveResponse):

Source/WebKit:

* NetworkProcess/Cookies/curl/WebCookieManagerCurl.cpp:
(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
* NetworkProcess/curl/NetworkDataTaskCurl.cpp:
(WebKit::NetworkDataTaskCurl::curlDidReceiveResponse):
(WebKit::NetworkDataTaskCurl::handleCookieHeaders):
* NetworkProcess/curl/NetworkDataTaskCurl.h:

Tools:

* TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp:
(TestWebKitAPI::Curl::TEST_F):

LayoutTests:

* platform/wincairo-wk1/TestExpectations:
* platform/wincairo/TestExpectations:

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

7 months ago[ContentChangeObserver] Assert on if notify content change is allowed
zalan@apple.com [Tue, 5 Mar 2019 23:35:02 +0000 (23:35 +0000)]
[ContentChangeObserver] Assert on if notify content change is allowed
https://bugs.webkit.org/show_bug.cgi?id=195332
<rdar://problem/48603276>

Reviewed by Simon Fraser.

Assert we don't notify the client about the state change while in handleSyntheticClick().

* page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::domTimerExecuteDidStart):
(WebCore::ContentChangeObserver::domTimerExecuteDidFinish):
(WebCore::ContentChangeObserver::adjustObservedState):
* page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::isObservingContentChanges const):
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const):

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

7 months agoSVGPathSegList.insertItemBefore() should fail if the newItem belongs to an animating...
said@apple.com [Tue, 5 Mar 2019 23:12:51 +0000 (23:12 +0000)]
SVGPathSegList.insertItemBefore() should fail if the newItem belongs to an animating animPathSegList
https://bugs.webkit.org/show_bug.cgi?id=195333
<rdar://problem/48475802>

Reviewed by Simon Fraser.

Source/WebCore:

Because the SVG1.1 specs states that the newItem should be removed from
its original list before adding it to another list,
SVGPathSegList.insertItemBefore() should fail if the new item belongs to
an animating animPathSegList since it is read-only.

Test: svg/dom/SVGPathSegList-insert-from-animating-animPathSegList.svg

* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::processIncomingListItemValue):

LayoutTests:

* svg/dom/SVGPathSegList-insert-from-animating-animPathSegList-expected.txt: Added.
* svg/dom/SVGPathSegList-insert-from-animating-animPathSegList.svg: Added.

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

7 months agoWeb Inspector: Canvas: remove event listeners once a recording is ready
drousso@apple.com [Tue, 5 Mar 2019 22:05:15 +0000 (22:05 +0000)]
Web Inspector: Canvas: remove event listeners once a recording is ready
https://bugs.webkit.org/show_bug.cgi?id=195324

Reviewed by Matt Baker.

* UserInterface/Models/Recording.js:
(WI.Recording):
(WI.Recording.prototype.async swizzle):
(WI.Recording.prototype.async _process):

* UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement):
(WI.RecordingActionTreeElement.prototype._handleValidityChanged):

* UserInterface/Views/CanvasSidebarPanel.js:
(WI.CanvasSidebarPanel.prototype.set recording):
(WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction):

* UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView.prototype.initialLayout):
(WI.RecordingContentView.prototype._handleRecordingProcessedAction):

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

7 months agoWeb Inspector: Attempting to select records in the bottom 16px of the timeline overvi...
commit-queue@webkit.org [Tue, 5 Mar 2019 22:00:57 +0000 (22:00 +0000)]
Web Inspector: Attempting to select records in the bottom 16px of the timeline overview graph fails
https://bugs.webkit.org/show_bug.cgi?id=195318

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

The bottom few pixels of the overview are reserved for the scroll-container
which may show a scrollbar if the overview needs to scroll. When the scrollbars
are not visible we can allow pointer events to click through the invisible
scroll-container and allow record selection.

* UserInterface/Views/TimelineOverview.css:
(.timeline-overview:not(.has-scrollbar) > .scroll-container):
* UserInterface/Views/TimelineOverview.js:
(WI.TimelineOverview.prototype._handleScrollEvent):
(WI.TimelineOverview.prototype._handleWheelEvent):
(WI.TimelineOverview._handleGestureStart):

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

7 months ago[ContentChangeObserver] Send content change notification through adjustObservedState
zalan@apple.com [Tue, 5 Mar 2019 21:52:41 +0000 (21:52 +0000)]
[ContentChangeObserver] Send content change notification through adjustObservedState
https://bugs.webkit.org/show_bug.cgi?id=195328
<rdar://problem/48601143>

Reviewed by Simon Fraser.

Have a dedicated place for the notification logic.

* page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::stopDurationBasedContentObservation):
(WebCore::ContentChangeObserver::didInstallDOMTimer):
(WebCore::ContentChangeObserver::didRemoveDOMTimer):
(WebCore::ContentChangeObserver::domTimerExecuteDidFinish):
(WebCore::ContentChangeObserver::styleRecalcDidFinish):
(WebCore::ContentChangeObserver::mouseMovedDidStart):
(WebCore::ContentChangeObserver::adjustObservedState):
(WebCore::ContentChangeObserver::registerDOMTimer): Deleted.
(WebCore::ContentChangeObserver::unregisterDOMTimer): Deleted.
(WebCore::ContentChangeObserver::notifyContentChangeIfNeeded): Deleted.
* page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::registerDOMTimer):
(WebCore::ContentChangeObserver::unregisterDOMTimer):

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

7 months ago[bmalloc] Bmalloc DebugHeap should have dump and scavenge features
ysuzuki@apple.com [Tue, 5 Mar 2019 21:49:41 +0000 (21:49 +0000)]
[bmalloc] Bmalloc DebugHeap should have dump and scavenge features
https://bugs.webkit.org/show_bug.cgi?id=195305

Reviewed by Saam Barati.

As the same to bmalloc, bmalloc::DebugHeap should have scavenge feature to make it scavengable if we want.
We also add DebugHeap::dump feature which dumps system malloc data in the WebKit Malloc zone.

* bmalloc/DebugHeap.cpp:
(bmalloc::DebugHeap::scavenge):
(bmalloc::DebugHeap::dump):
* bmalloc/DebugHeap.h:
* bmalloc/bmalloc.cpp:
(bmalloc::api::scavenge):

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

7 months agoMockLibWebRTCPeerConnection is leaking some session description
youenn@apple.com [Tue, 5 Mar 2019 21:49:36 +0000 (21:49 +0000)]
MockLibWebRTCPeerConnection is leaking some session description
https://bugs.webkit.org/show_bug.cgi?id=195315
<rdar://problem/47840038>

Reviewed by David Kilzer.

Make sure to release raw pointers given from WebCore to mock libwebrtc layer.
Covered by existing tests when run in leaks mode.

* testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::MockLibWebRTCPeerConnection::SetLocalDescription):
(WebCore::MockLibWebRTCPeerConnection::SetRemoteDescription):

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

7 months agoIntroduce ServiceWorkerFetchTask
youenn@apple.com [Tue, 5 Mar 2019 21:49:28 +0000 (21:49 +0000)]
Introduce ServiceWorkerFetchTask
https://bugs.webkit.org/show_bug.cgi?id=195130

Reviewed by Chris Dumez.

ServiceWorkerFetchTask is added to represent NetworkProcess side of an ongoing fetch intercepted by service worker.
This patch should not change existing behavior.

* CMakeLists.txt:
* DerivedSources-input.xcfilelist:
* DerivedSources-output.xcfilelist:
* DerivedSources.make:
* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didFailFetch): Deleted.
(WebKit::NetworkProcess::didNotHandleFetch): Deleted.
(WebKit::NetworkProcess::didReceiveFetchRedirectResponse): Deleted.
(WebKit::NetworkProcess::didReceiveFetchResponse): Deleted.
(WebKit::NetworkProcess::didReceiveFetchData): Deleted.
(WebKit::NetworkProcess::didReceiveFetchFormData): Deleted.
(WebKit::NetworkProcess::didFinishFetch): Deleted.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/ServiceWorker/WebSWServerConnection.cpp:
(WebKit::WebSWServerConnection::cancelFetch):
(WebKit::WebSWServerConnection::continueDidReceiveFetchResponse):
(WebKit::WebSWServerConnection::startFetch):
(WebKit::WebSWServerConnection::didReceiveFetchRedirectResponse): Deleted.
(WebKit::WebSWServerConnection::didReceiveFetchResponse): Deleted.
(WebKit::WebSWServerConnection::didReceiveFetchData): Deleted.
(WebKit::WebSWServerConnection::didReceiveFetchFormData): Deleted.
(WebKit::WebSWServerConnection::didFinishFetch): Deleted.
(WebKit::WebSWServerConnection::didFailFetch): Deleted.
(WebKit::WebSWServerConnection::didNotHandleFetch): Deleted.
* NetworkProcess/ServiceWorker/WebSWServerConnection.h:
* NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:
(WebKit::WebSWServerToContextConnection::connectionClosed):
(WebKit::WebSWServerToContextConnection::startFetch):
(WebKit::WebSWServerToContextConnection::cancelFetch):
(WebKit::WebSWServerToContextConnection::continueDidReceiveFetchResponse):
(WebKit::WebSWServerToContextConnection::didReceiveFetchTaskMessage):
* NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
* SourcesCocoa.txt:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::startFetch):
* WebProcess/Storage/WebServiceWorkerFetchTaskClient.cpp:
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveRedirection):
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveResponse):
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveData):
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveFormDataAndFinish):
(WebKit::WebServiceWorkerFetchTaskClient::didReceiveBlobChunk):
(WebKit::WebServiceWorkerFetchTaskClient::didFail):
(WebKit::WebServiceWorkerFetchTaskClient::didFinish):
(WebKit::WebServiceWorkerFetchTaskClient::didNotHandle):
* NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp: Added.
(WebKit::ServiceWorkerFetchTask::didReceiveRedirectResponse):
(WebKit::ServiceWorkerFetchTask::didReceiveResponse):
(WebKit::ServiceWorkerFetchTask::didReceiveData):
(WebKit::ServiceWorkerFetchTask::didReceiveFormData):
(WebKit::ServiceWorkerFetchTask::didFinish):
(WebKit::ServiceWorkerFetchTask::didFail):
(WebKit::ServiceWorkerFetchTask::didNotHandle):
* NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.h: Added.
(WebKit::ServiceWorkerFetchTask::create):
(WebKit::ServiceWorkerFetchTask::Identifier::hash const):
(WebKit::ServiceWorkerFetchTask::identifier const):
(WebKit::ServiceWorkerFetchTask::ServiceWorkerFetchTask):
(WebKit::operator==):
(WTF::ServiceWorkerFetchTaskIdentifierHash::hash):
(WTF::ServiceWorkerFetchTaskIdentifierHash::equal):
(WTF::HashTraits<WebKit::ServiceWorkerFetchTask::Identifier>::emptyValue):
(WTF::HashTraits<WebKit::ServiceWorkerFetchTask::Identifier>::constructDeletedValue):
(WTF::HashTraits<WebKit::ServiceWorkerFetchTask::Identifier>::isDeletedValue):
* NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.messages.in: Added.

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

7 months ago[JSC] Should check exception for JSString::toExistingAtomicString
ysuzuki@apple.com [Tue, 5 Mar 2019 21:20:33 +0000 (21:20 +0000)]
[JSC] Should check exception for JSString::toExistingAtomicString
https://bugs.webkit.org/show_bug.cgi?id=195337

Reviewed by Keith Miller, Saam Barati, and Mark Lam.

We missed the exception check for JSString::toExistingAtomicString while it can resolve
a rope and throw an OOM exception. This patch adds necessary exception checks. This patch
fixes test failures in debug build, reported in https://bugs.webkit.org/show_bug.cgi?id=194375#c93.

* dfg/DFGOperations.cpp:
* jit/JITOperations.cpp:
(JSC::getByVal):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::getByVal):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):

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

7 months agoRename requestCacheStorageSpace to requestStorageSpace
youenn@apple.com [Tue, 5 Mar 2019 20:29:14 +0000 (20:29 +0000)]
Rename requestCacheStorageSpace to requestStorageSpace
https://bugs.webkit.org/show_bug.cgi?id=195282

Reviewed by Chris Dumez.

Source/WebKit:

Make the name more abstract as it might be used in the future for other storage
like IDB or service worker registrations.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::requestStorageSpace):
(WebKit::NetworkProcess::requestCacheStorageSpace): Deleted.
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::requestSpace):
* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(WebsiteDataStoreClient::WebsiteDataStoreClient):
* UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::requestStorageSpace):
(WebKit::NetworkProcessProxy::requestCacheStorageSpace): Deleted.
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.messages.in:
* UIProcess/WebsiteData/WebsiteDataStoreClient.h:
(WebKit::WebsiteDataStoreClient::requestStorageSpace):
(WebKit::WebsiteDataStoreClient::requestCacheStorageSpace): Deleted.

Tools:

* WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm:
(-[TestWebsiteDataStoreDelegate requestStorageSpace:frameOrigin:quota:currentSize:spaceRequired:decisionHandler:]):
(-[TestWebsiteDataStoreDelegate requestCacheStorageSpace:frameOrigin:quota:currentSize:spaceRequired:decisionHandler:]): Deleted.

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

7 months agoDrop cached WebProcesses for a given session when this session is destroyed
cdumez@apple.com [Tue, 5 Mar 2019 20:14:54 +0000 (20:14 +0000)]
Drop cached WebProcesses for a given session when this session is destroyed
https://bugs.webkit.org/show_bug.cgi?id=195212
<rdar://problem/48301483>

Reviewed by Geoffrey Garen.

Drop cached WebProcesses for a give session when this session is destroyed. This way, when you close
your private browsing window, all the processes it used get cleared and it cannot leave any state
behind.

* UIProcess/WebProcessCache.cpp:
(WebKit::WebProcessCache::canCacheProcess const):
(WebKit::WebProcessCache::addProcessIfPossible):
(WebKit::WebProcessCache::addProcess):
(WebKit::WebProcessCache::clearAllProcessesForSession):
* UIProcess/WebProcessCache.h:
(WebKit::WebProcessCache::capacity const):
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::pageEndUsingWebsiteDataStore):
(WebKit::WebProcessPool::hasPagesUsingWebsiteDataStore const):
* UIProcess/WebProcessPool.h:

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

7 months agoWeb Inspector: iPod user agent UIString should have a lowercase "T"
drousso@apple.com [Tue, 5 Mar 2019 19:44:33 +0000 (19:44 +0000)]
Web Inspector: iPod user agent UIString should have a lowercase "T"
https://bugs.webkit.org/show_bug.cgi?id=195312
<rdar://problem/48586853>

Reviewed by Matt Baker.

* UserInterface/Base/Main.js:
(WI._handleDeviceSettingsToolbarButtonClicked):

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

7 months agoCorrectly handle sandbox extensions when the same WKWebView loads multiple file:...
beidson@apple.com [Tue, 5 Mar 2019 17:20:36 +0000 (17:20 +0000)]
Correctly handle sandbox extensions when the same WKWebView loads multiple file:// URLs.
<rdar://problem/47820581> and https://bugs.webkit.org/show_bug.cgi?id=195291

Reviewed by Tim Horton.

Source/WebKit:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::SandboxExtensionTracker::shouldReuseCommittedSandboxExtension): If there is a pendingProvisionalSandboxExtension
  then its existence should override our willingness to reuse the existing committed extension.
(WebKit::shouldReuseCommittedSandboxExtension): Deleted.
* WebProcess/WebPage/WebPage.h:

Tools:

Loading a file: URL into a WKWebView and then loading another file: url from a completely
different directory into that same WKWebView should work.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKitCocoa/LoadFileURL.mm: Added.

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

7 months agoUnreviewed, rolling out r242403.
ryanhaddad@apple.com [Tue, 5 Mar 2019 17:18:30 +0000 (17:18 +0000)]
Unreviewed, rolling out r242403.

Caused layout test crashes on iOS simulator.

Reverted changeset:

"[ContentChangeObserver] Introduce fixed duration content
observation"
https://bugs.webkit.org/show_bug.cgi?id=195295
https://trac.webkit.org/changeset/242403

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

7 months agoWeb Inspector: Better categorize CPU usage per-thread / worker
fred.wang@free.fr [Tue, 5 Mar 2019 16:18:43 +0000 (16:18 +0000)]
Web Inspector: Better categorize CPU usage per-thread / worker
https://bugs.webkit.org/show_bug.cgi?id=194564

Unreviewed compilation fix.

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-05

* page/ResourceUsageData.h: Add missing headers.

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

7 months agoShare more code for updating the state of frame scrolling nodes
fred.wang@free.fr [Tue, 5 Mar 2019 14:54:13 +0000 (14:54 +0000)]
Share more code for updating the state of frame scrolling nodes
https://bugs.webkit.org/show_bug.cgi?id=195254

Unreviewed compilation warning fix.

Patch by Frederic Wang <fwang@igalia.com> on 2019-03-05

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): Add UNUSED_PARAM on non-Cocoa
platforms.

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

7 months agoThe include file in ScrollingStateFrameHostingNode.h is wrong.
commit-queue@webkit.org [Tue, 5 Mar 2019 14:21:48 +0000 (14:21 +0000)]
The include file in ScrollingStateFrameHostingNode.h is wrong.
https://bugs.webkit.org/show_bug.cgi?id=195280

Patch by Cathie Chen <cathiechen@igalia.com> on 2019-03-05
Reviewed by Frédéric Wang.

* page/scrolling/ScrollingStateFrameHostingNode.h:

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

7 months ago[WPE] Do not create a PlatformDisplay in the Service Worker process
commit-queue@webkit.org [Tue, 5 Mar 2019 11:59:27 +0000 (11:59 +0000)]
[WPE] Do not create a PlatformDisplay in the Service Worker process
https://bugs.webkit.org/show_bug.cgi?id=194830

Patch by Loïc Yhuel <loic.yhuel@softathome.com> on 2019-03-05
Reviewed by Žan Doberšek.

It avoids opening the Wayland socket in this WPEWebProcess, which might cause issues
depending on the platform, and allocates unneeded resources.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h: Add new isServiceWorkerProcess parameter.
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess): Set isServiceWorkerProcess parameter.
* UIProcess/glib/WebProcessPoolGLib.cpp:
(WebKit::WebProcessPool::platformInitializeWebProcess): No implementationLibraryName and hostClientFileDescriptor for Service Worker.
* WebProcess/glib/WebProcessGLib.cpp:
(WebKit::WebProcess::platformInitializeWebProcess): No wpe_loader_init nor PlatformDisplayLibWPE for Service Worker.

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

7 months ago[GTK][l10n] Updated Polish translation of WebKitGTK for 2.24
carlosgc@webkit.org [Tue, 5 Mar 2019 10:35:43 +0000 (10:35 +0000)]
[GTK][l10n] Updated Polish translation of WebKitGTK for 2.24
https://bugs.webkit.org/show_bug.cgi?id=194859

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2019-03-05
Rubber-stamped by Carlos Garcia Campos.

* pl.po:

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

7 months agoWeb Inspector: CPU Usage Timeline - Adjust sizes in timeline overview
commit-queue@webkit.org [Tue, 5 Mar 2019 10:27:24 +0000 (10:27 +0000)]
Web Inspector: CPU Usage Timeline - Adjust sizes in timeline overview
https://bugs.webkit.org/show_bug.cgi?id=195313

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

Reduce the height slightly to save some precious vertical space.
Also increase the size of the minimum bar height so that it doesn't
look like there are no events when there is low CPU.

* UserInterface/Views/CPUTimelineOverviewGraph.css:
(body .sidebar > .panel.navigation.timeline > .timelines-content li.item.cpu,):
* UserInterface/Views/CPUTimelineOverviewGraph.js:
(WI.CPUTimelineOverviewGraph.prototype.get height):
Reduce the CPU overview graph height to 60px.

(WI.CPUTimelineOverviewGraph.prototype.layout):
Increase the minimum size of a column bar to 4px.

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

7 months ago[GTK] Unreviewed test gardening
dpino@igalia.com [Tue, 5 Mar 2019 07:58:11 +0000 (07:58 +0000)]
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=195272

Unreviewed test gardening.

* platform/gtk/TestExpectations:

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

7 months agoUnreviewed, rolling out r242376.
beidson@apple.com [Tue, 5 Mar 2019 07:55:27 +0000 (07:55 +0000)]
Unreviewed, rolling out r242376.

Broke some tests

Reverted changeset:

"Correctly handle sandbox extensions when the same WKWebView
loads multiple file:// URLs."
https://bugs.webkit.org/show_bug.cgi?id=195291
https://trac.webkit.org/changeset/242376

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