WebKit-https.git
2 years agoAdd WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, header...
achristensen@apple.com [Thu, 14 Sep 2017 17:55:17 +0000 (17:55 +0000)]
Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
https://bugs.webkit.org/show_bug.cgi?id=176889
<rdar://problem/29270035>

Reviewed by Andy Estes.

Source/WebKit:

* UIProcess/API/C/WKPage.cpp:
(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::headerHeight):
(WebKit::UIDelegate::UIClient::footerHeight):
(WebKit::UIDelegate::UIClient::drawHeader):
(WebKit::UIDelegate::UIClient::drawFooter):
* UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:
(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::printOperationWithPrintInfo):
* UIProcess/FrameLoadState.cpp:
(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didSameDocumentNotification):
(WebKit::FrameLoadState::setUnreachableURL):
(WebKit::FrameLoadState::FrameLoadState): Deleted.
* UIProcess/FrameLoadState.h:
(WebKit::FrameLoadState::url const):
(WebKit::FrameLoadState::provisionalURL const):
(WebKit::FrameLoadState::unreachableURL const):
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::loadURL):
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didSameDocumentNavigation):
(WebKit::WebFrameProxy::setUnreachableURL):
* UIProcess/WebFrameProxy.h:
(WebKit::WebFrameProxy::url const):
(WebKit::WebFrameProxy::provisionalURL const):
(WebKit::WebFrameProxy::unreachableURL const):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidChangeProvisionalURL):
(WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadURLInFrame):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[PrintDelegate _webView:printFrame:]):
(-[PrintDelegate _webViewHeaderHeight:]):
(-[PrintDelegate _webViewFooterHeight:]):
(-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
(-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
(callbacksEqual):
(TEST):
* TestWebKitAPI/cocoa/TestWKWebView.h:
* TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebView hostWindow]):

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

2 years ago[GTK] Add a switch to start the mini-browser in full-screen mode
clopez@igalia.com [Thu, 14 Sep 2017 17:53:18 +0000 (17:53 +0000)]
[GTK] Add a switch to start the mini-browser in full-screen mode
https://bugs.webkit.org/show_bug.cgi?id=176904

Reviewed by Carlos Garcia Campos.

* MiniBrowser/gtk/main.c:
(main):

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

2 years agoFollow up expectations to r222008.
jlewis3@apple.com [Thu, 14 Sep 2017 17:38:20 +0000 (17:38 +0000)]
Follow up expectations to r222008.

Unreviewed test gardening.

* platform/ios/TestExpectations:

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

2 years agoUnreviewed, rolling out r222015.
ryanhaddad@apple.com [Thu, 14 Sep 2017 17:17:13 +0000 (17:17 +0000)]
Unreviewed, rolling out r222015.

The LayoutTests added with this change are flaky.

Reverted changeset:

"Web Inspector: Timeline should show when events
preventDefault() was called on an event or not"
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222015

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

2 years agoUnreviewed, fix a typo that was preventing a test from running.
fpizlo@apple.com [Thu, 14 Sep 2017 16:56:14 +0000 (16:56 +0000)]
Unreviewed, fix a typo that was preventing a test from running.

* WebGPUShadingLanguageRI/Test.js:

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

2 years ago[GTK] Fail to build using internal jhbuild if libgtk3-dev is not installed in the...
carlosgc@webkit.org [Thu, 14 Sep 2017 16:45:25 +0000 (16:45 +0000)]
[GTK] Fail to build using internal jhbuild if libgtk3-dev is not installed in the system
https://bugs.webkit.org/show_bug.cgi?id=176778

Reviewed by Carlos Alberto Lopez Perez.

We are building gtk+ in the jhbuild with introspection disabled, but Gtk-3.gir is required to build the
WebKitGTK+ introspection. Also, if wayland-protocols is not installed, gtk+ is built without the wayland backend
and it's no possible to enable the wayland target in WebKitGTK+ either.

* gtk/jhbuild.modules: Do not disable introspection when building gtk+ and add wayland-protocols as a dependency.

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

2 years ago[GTK][Wayland] Flickering when resizing the window
carlosgc@webkit.org [Thu, 14 Sep 2017 16:43:32 +0000 (16:43 +0000)]
[GTK][Wayland] Flickering when resizing the window
https://bugs.webkit.org/show_bug.cgi?id=176774

Reviewed by Michael Catanzaro.

This regressed when we switched to always start the wayland compositor. In
AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState() we check if the nested compositor is
running, which is always true now (if EGL and the required extensions are available). We should check if we are
in AC mode instead.

* UIProcess/AcceleratedDrawingAreaProxy.cpp:
(WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):

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

2 years agoAllow passing sequences to various WebGL2 methods.
commit-queue@webkit.org [Thu, 14 Sep 2017 16:35:02 +0000 (16:35 +0000)]
Allow passing sequences to various WebGL2 methods.
https://bugs.webkit.org/show_bug.cgi?id=176892

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-14
Reviewed by Sam Weinig.

This matches the specification as well as Gecko and Chromium.

Source/WebCore:

Test: fast/canvas/webgl/webgl2/sequences.html

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::uniform1uiv):
(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::vertexAttribI4iv):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):
* html/canvas/WebGL2RenderingContext.h:
* html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

* fast/canvas/webgl/webgl2/sequences-expected.txt: Added.
* fast/canvas/webgl/webgl2/sequences.html: Added.

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

2 years ago[Cleanup] Cleanup uses of the FileList class
commit-queue@webkit.org [Thu, 14 Sep 2017 16:22:07 +0000 (16:22 +0000)]
[Cleanup] Cleanup uses of the FileList class
https://bugs.webkit.org/show_bug.cgi?id=176800

Patch by Sam Weinig <sam@webkit.org> on 2017-09-14
Reviewed by Alex Christensen.

* fileapi/FileList.cpp:
* fileapi/FileList.h:

    Store list of files as Refs, rather than RefPtrs.
    Add direct accessor to the underlying Vector for faster iteration.
    Add file(unsigned) function to allow direct indexing, rather than using
    the DOM exposed item function which always does a length check.

* Modules/entriesapi/HTMLInputElementEntriesAPI.cpp:

    Remove unused RuntimeEnabledFeatures.h #include.
    Use modern for loop and the new direct file vector access.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):

    Remove unnecessary #includes, adopt auto, and use modern for-loop
    for FileList.

* dom/DataTransfer.cpp:
(WebCore::DataTransfer::files const):
(WebCore::DataTransfer::hasFileOfType):

    Use auto.

(WebCore::DataTransfer::createForInputEvent):

    Use initializer list for the typeToStringMap.

* dom/DataTransferItemList.cpp:
(WebCore::DataTransferItemList::ensureItems const):

    Use auto and modern for-loop for FileList.

* html/FileInputType.cpp:
(WebCore::FileInputType::filesFromFormControlState):
(WebCore::FileInputType::saveFormControlState const):
(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::getTypeSpecificValue):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::receiveDroppedFiles):
(WebCore::FileInputType::defaultToolTip const):

    Adopt auto, brace-initialization, and modern for-loops.

* html/FileListCreator.cpp:
(WebCore::appendDirectoryFiles):
(WebCore::FileListCreator::createFileList):

    Update to work in terms of Vector<Ref<File>>.

* html/FormController.h:
(WebCore::FormControlState::FormControlState):

    Re-format existing constructors and add one that takes an r-value
    Vector<String> to allow construction from a pre-created list (used
    in FileInputType::saveFormControlState)

* platform/DragData.h:
* platform/gtk/DragDataGtk.cpp:
(WebCore::DragData::asFilenames const):
* platform/mac/DragDataMac.mm:
(WebCore::DragData::asFilenames const):
* platform/win/DragDataWin.cpp:
(WebCore::DragData::asFilenames const):

    Convert asFilenames to return, rather than take, a Vector<String>.

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

2 years agoRebaseline fast/forms/append-children-during-form-submission.html for iOS.
ryanhaddad@apple.com [Thu, 14 Sep 2017 16:09:03 +0000 (16:09 +0000)]
Rebaseline fast/forms/append-children-during-form-submission.html for iOS.

Unreviewed test gardening.

* platform/ios/fast/forms/append-children-during-form-submission-expected.txt: Added.

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

2 years ago[Harfbuzz] Wrong offset returned by HarfBuzzShaper::offsetForPosition() when target...
carlosgc@webkit.org [Thu, 14 Sep 2017 15:37:44 +0000 (15:37 +0000)]
[Harfbuzz] Wrong offset returned by HarfBuzzShaper::offsetForPosition() when target point is at the middle of a character
https://bugs.webkit.org/show_bug.cgi?id=176897

Reviewed by Michael Catanzaro.

We should include the character when the point is greater than the center of the character.

Fixes: fast/multicol/hit-test-end-of-column-with-line-height.html
       fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html

* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):

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

2 years agoMark svg/as-image/svg-image-with-data-uri-use-data-uri.svg as flaky.
pvollan@apple.com [Thu, 14 Sep 2017 14:20:26 +0000 (14:20 +0000)]
Mark svg/as-image/svg-image-with-data-uri-use-data-uri.svg as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176901

Unreviewed test gardening.

* platform/win/TestExpectations:

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

2 years agoFix typo in entries-api test names.
pvollan@apple.com [Thu, 14 Sep 2017 14:12:37 +0000 (14:12 +0000)]
Fix typo in entries-api test names.

Unreviewed test gardening.

* platform/win/TestExpectations:

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

2 years ago[JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
utatane.tea@gmail.com [Thu, 14 Sep 2017 11:17:45 +0000 (11:17 +0000)]
[JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
https://bugs.webkit.org/show_bug.cgi?id=176867

Reviewed by Sam Weinig.

JSTests:

* microbenchmarks/object-get-own-property-symbols.js: Added.
(test):

Source/JavaScriptCore:

We rarely require private symbols when enumerating property names.
This patch adds PrivateSymbolMode::{Include,Exclude}. If PrivateSymbolMode::Exclude
is specified, PropertyNameArray does not include private symbols.
This removes many ad-hoc `Identifier::isPrivateName()` in enumeration operations.

One additional good thing is that we do not need to filter private symbols out from PropertyNameArray.
It allows us to use Object.keys()'s fast path for Object.getOwnPropertySymbols.

object-get-own-property-symbols                48.6275+-1.0021     ^     38.1846+-1.7934        ^ definitely 1.2735x faster

* API/JSObjectRef.cpp:
(JSObjectCopyPropertyNames):
* bindings/ScriptValue.cpp:
(Inspector::jsToInspectorValue):
* bytecode/ObjectAllocationProfile.h:
(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):
* runtime/EnumerationMode.h:
* runtime/IntlObject.cpp:
(JSC::supportedLocales):
* runtime/JSONObject.cpp:
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
* runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::create):
* runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetOwnPropertyDescriptors):
(JSC::objectConstructorAssign):
(JSC::objectConstructorValues):
(JSC::defineProperties):
(JSC::setIntegrityLevel):
(JSC::testIntegrityLevel):
(JSC::ownPropertyKeys):
* runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::propertyNameMode const):
(JSC::PropertyNameArray::privateSymbolMode const):
(JSC::PropertyNameArray::addUncheckedInternal):
(JSC::PropertyNameArray::addUnchecked):
(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::isUidMatchedToTypeMode):
(JSC::PropertyNameArray::includeSymbolProperties const):
(JSC::PropertyNameArray::includeStringProperties const):
(JSC::PropertyNameArray::mode const): Deleted.
* runtime/ProxyObject.cpp:
(JSC::ProxyObject::performGetOwnPropertyNames):

Source/WebCore:

* bindings/js/JSDOMConvertRecord.h:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
* bridge/NP_jsobject.cpp:
(_NPN_Enumerate):

Source/WebKit:

* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::enumerate):

Source/WebKitLegacy/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate):

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

2 years agoReverted r222014, and added El Capitan specific result for fast/forms/append-children...
rniwa@webkit.org [Thu, 14 Sep 2017 09:22:54 +0000 (09:22 +0000)]
Reverted r222014, and added El Capitan specific result for fast/forms/append-children-during-form-submission.html

* fast/forms/append-children-during-form-submission-expected.txt: Reverted r222014.
* platform/mac-elcapitan/fast/forms/append-children-during-form-submission-expected.txt: Added.

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

2 years agoWeb Inspector: Timeline should show when events preventDefault() was called on an...
commit-queue@webkit.org [Thu, 14 Sep 2017 07:57:46 +0000 (07:57 +0000)]
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
<rdar://problem/34290931>

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

Source/WebCore:

Tests: inspector/timeline/timeline-event-CancelAnimationFrame.html
       inspector/timeline/timeline-event-EventDispatch.html
       inspector/timeline/timeline-event-FireAnimationFrame.html
       inspector/timeline/timeline-event-RequestAnimationFrame.html
       inspector/timeline/timeline-event-TimerFire.html
       inspector/timeline/timeline-event-TimerInstall.html
       inspector/timeline/timeline-event-TimerRemove.html

* dom/EventTarget.cpp:
(WebCore::EventTarget::fireEventListeners):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchEvent):
Include defaultPrevented when notifying inspector.

* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
Pass defaultPrevented on to agent.

* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::didLayout):
(WebCore::InspectorTimelineAgent::didPaint):
* inspector/InspectorTimelineAgent.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::appendLayoutRoot):
(WebCore::TimelineRecordFactory::appendDidDispatchEventData):
* inspector/TimelineRecordFactory.h:
Append a boolean defaultPrevented property on the EventDispatch timeline record's data.

Source/WebInspectorUI:

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

* UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.prototype._processRecord):
Include the whole data object as extra details.

* UserInterface/Models/ScriptTimelineRecord.js:
(WI.ScriptTimelineRecord):
(WI.ScriptTimelineRecord.prototype.get extraDetails):
Wholesale copy of the extra data instead of just a single property.

* UserInterface/Views/ScriptDetailsTimelineView.js:
(WI.ScriptDetailsTimelineView):
Give the name column more initial space, there is still extra space
after this adjustment but name is comfortably larger (and the most
likely to be expanded).

* UserInterface/Views/ScriptTimelineDataGridNode.js:
(WI.ScriptTimelineDataGridNode.prototype.get subtitle):
Include "default prevented" as the event's subtitle if it was prevented.

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Agent.prototype.dispatchEvent):
(InspectorBackend.Agent):
* UserInterface/Test.html:
* UserInterface/Test/Test.js:
(WI.loaded):
Add the ScriptProfilerObserver to tests since it is on by default for Timelines.

LayoutTests:

* inspector/timeline/resources/timeline-event-utilities.js: Added.
(TestPage.registerInitializer.window.captureTimelineWithScript):
(TestPage.registerInitializer):
(finishRecording):
Helper code for creating a recording from a function.

* inspector/timeline/timeline-event-CancelAnimationFrame-expected.txt: Added.
* inspector/timeline/timeline-event-CancelAnimationFrame.html: Added.
* inspector/timeline/timeline-event-EventDispatch-expected.txt: Added.
* inspector/timeline/timeline-event-EventDispatch.html: Added.
* inspector/timeline/timeline-event-FireAnimationFrame-expected.txt: Added.
* inspector/timeline/timeline-event-FireAnimationFrame.html: Added.
* inspector/timeline/timeline-event-RequestAnimationFrame-expected.txt: Added.
* inspector/timeline/timeline-event-RequestAnimationFrame.html: Added.
* inspector/timeline/timeline-event-TimerFire-expected.txt: Added.
* inspector/timeline/timeline-event-TimerFire.html: Added.
* inspector/timeline/timeline-event-TimerInstall-expected.txt: Added.
* inspector/timeline/timeline-event-TimerInstall.html: Added.
* inspector/timeline/timeline-event-TimerRemove-expected.txt: Added.
* inspector/timeline/timeline-event-TimerRemove.html: Added.
Tests for different, specific, Timeline domain EventTypes.
This includes EventDispatch with its new "defaultPrevented" details data.

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

2 years agoRebaseline a test after r222005.
rniwa@webkit.org [Thu, 14 Sep 2017 07:37:50 +0000 (07:37 +0000)]
Rebaseline a test after r222005.

* fast/forms/append-children-during-form-submission-expected.txt:

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

2 years agoIntroduce the option to mark an HTML element as having AutoFill available.
commit-queue@webkit.org [Thu, 14 Sep 2017 07:01:20 +0000 (07:01 +0000)]
Introduce the option to mark an HTML element as having AutoFill available.
https://bugs.webkit.org/show_bug.cgi?id=176710

Patch by Maureen Daum <mdaum@apple.com> on 2017-09-14
Reviewed by Alex Christensen.

Source/WebCore:

Introduce the option to mark an HTML element as having AutoFill available. Accessibility
can use this property when deciding whether to announce that the focused field offers
AutoFill.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isValueAutofillAvailable const):
Check if the field is explicitly marked as having AutoFill available.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
* html/HTMLInputElement.h:
(WebCore::HTMLInputElement::isAutoFillAvailable const):
(WebCore::HTMLInputElement::setAutoFillAvailable):

Source/WebKit:

Introduce the option to mark an HTML element as having AutoFill available. Accessibility
can use this property when deciding whether to announce that the focused field offers
AutoFill.

* WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
(WKBundleNodeHandleGetHTMLInputElementAutoFillAvailable):
(WKBundleNodeHandleSetHTMLInputElementAutoFillAvailable):
* WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::isAutoFillAvailable const):
(WebKit::InjectedBundleNodeHandle::setAutoFillAvailable):
* WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:

Tools:

Add an API test that verifies after we mark a field as having AutoFill available,
Accessibility also considers it to have AutoFill available.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add AutoFillAvailable.mm
* TestWebKitAPI/Tests/WebKitCocoa/AutoFillAvailable.mm: Added.
Create an input element, mark it as having AutoFill available, then focus it so that
we can get the accessibility information for it. Ask accessibility whether it considers
the field to have AutoFill available, and pick the alert message based on that.
(-[AutoFillAvailable webProcessPlugIn:didCreateBrowserContextController:]):
* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(TEST):
(-[AutoFillAvailableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
Verify that we get the alert message indicating that accessibility indeed considers
the input element as having AutoFill available after we explicitly marked it as so.

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

2 years ago[Curl] Move response related features into ResourceResponse
commit-queue@webkit.org [Thu, 14 Sep 2017 06:57:12 +0000 (06:57 +0000)]
[Curl] Move response related features into ResourceResponse
https://bugs.webkit.org/show_bug.cgi?id=174654

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2017-09-13
Reviewed by Alex Christensen.

* platform/Curl.cmake:
* platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::isHttpRedirect): Deleted.
(WebCore::isHttpAuthentication): Deleted.
(WebCore::isHttpNotModified): Deleted.
(WebCore::isAppendableHeader): Deleted.
(WebCore::ResourceHandleCurlDelegate::didReceiveHeaderLine): Deleted.
* platform/network/curl/ResourceHandleCurlDelegate.h:
* platform/network/curl/ResourceResponse.h:
(WebCore::ResourceResponse::platformSuggestedFilename const): Deleted.
* platform/network/curl/ResourceResponseCurl.cpp: Added.
(WebCore::ResourceResponse::isAppendableHeader):
(WebCore::ResourceResponse::appendHTTPHeaderField):
(WebCore::ResourceResponse::setStatusLine):
(WebCore::ResourceResponse::platformSuggestedFilename const):
(WebCore::ResourceResponse::isRedirection const):
(WebCore::ResourceResponse::isNotModified const):
(WebCore::ResourceResponse::isUnauthorized const):

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

2 years ago[CMake] Detect harfbuzz without pkgconfig
don.olmstead@sony.com [Thu, 14 Sep 2017 06:19:08 +0000 (06:19 +0000)]
[CMake] Detect harfbuzz without pkgconfig
https://bugs.webkit.org/show_bug.cgi?id=176886

Reviewed by Michael Catanzaro.

* Source/cmake/FindHarfBuzz.cmake:

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

2 years agoFix a typo in the directory name: editing/pasteboard/enties-api.
rniwa@webkit.org [Thu, 14 Sep 2017 06:10:48 +0000 (06:10 +0000)]
Fix a typo in the directory name: editing/pasteboard/enties-api.

Rubber-stamped by Wenson Hsieh.

* editing/pasteboard/entries-api: Renamed from LayoutTests/editing/pasteboard/enties-api.
* platform/win/TestExpectations:
* platform/wk2/TestExpectations:

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

2 years agoRolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%.
mark.lam@apple.com [Thu, 14 Sep 2017 04:21:05 +0000 (04:21 +0000)]
Rolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%.
https://bugs.webkit.org/show_bug.cgi?id=176888
<rdar://problem/34381832>

Not reviewed.

JSTests:

* stress/op_mod-ConstVar.js:
* stress/op_mod-VarConst.js:
* stress/op_mod-VarVar.js:

Source/JavaScriptCore:

* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/MacroAssembler.cpp:
(JSC::stdFunctionCallback):
* assembler/MacroAssemblerPrinter.cpp:
(JSC::Printer::printCallback):
* assembler/ProbeContext.h:
(JSC::Probe:: const):
(JSC::Probe::Context::Context):
(JSC::Probe::Context::gpr):
(JSC::Probe::Context::spr):
(JSC::Probe::Context::fpr):
(JSC::Probe::Context::gprName):
(JSC::Probe::Context::sprName):
(JSC::Probe::Context::fprName):
(JSC::Probe::Context::pc):
(JSC::Probe::Context::fp):
(JSC::Probe::Context::sp):
(JSC::Probe::CPUState::gpr const): Deleted.
(JSC::Probe::CPUState::spr const): Deleted.
(JSC::Probe::Context::arg): Deleted.
(JSC::Probe::Context::gpr const): Deleted.
(JSC::Probe::Context::spr const): Deleted.
(JSC::Probe::Context::fpr const): Deleted.
* assembler/ProbeFrame.h: Removed.
* assembler/ProbeStack.cpp:
(JSC::Probe::Page::Page):
* assembler/ProbeStack.h:
(JSC::Probe::Page::get):
(JSC::Probe::Page::set):
(JSC::Probe::Page::physicalAddressFor):
(JSC::Probe::Stack::lowWatermark):
(JSC::Probe::Stack::get):
(JSC::Probe::Stack::set):
* bytecode/ArithProfile.cpp:
* bytecode/ArithProfile.h:
* bytecode/ArrayProfile.h:
(JSC::ArrayProfile::observeArrayMode): Deleted.
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize): Deleted.
* bytecode/CodeBlock.h:
(JSC::CodeBlock::addressOfOSRExitCounter):
* bytecode/ExecutionCounter.h:
(JSC::ExecutionCounter::hasCrossedThreshold const): Deleted.
(JSC::ExecutionCounter::setNewThresholdForOSRExit): Deleted.
* bytecode/MethodOfGettingAValueProfile.cpp:
(JSC::MethodOfGettingAValueProfile::reportValue): Deleted.
* bytecode/MethodOfGettingAValueProfile.h:
* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::findPC):
* dfg/DFGJITCode.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::setPatchableCodeOffset):
(JSC::DFG::OSRExit::getPatchableCodeOffsetAsJump const):
(JSC::DFG::OSRExit::codeLocationForRepatch const):
(JSC::DFG::OSRExit::correctJump):
(JSC::DFG::OSRExit::emitRestoreArguments):
(JSC::DFG::OSRExit::compileOSRExit):
(JSC::DFG::OSRExit::compileExit):
(JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure):
(JSC::DFG::jsValueFor): Deleted.
(JSC::DFG::restoreCalleeSavesFor): Deleted.
(JSC::DFG::saveCalleeSavesFor): Deleted.
(JSC::DFG::restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer): Deleted.
(JSC::DFG::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer): Deleted.
(JSC::DFG::saveOrCopyCalleeSavesFor): Deleted.
(JSC::DFG::createDirectArgumentsDuringExit): Deleted.
(JSC::DFG::createClonedArgumentsDuringExit): Deleted.
(JSC::DFG::emitRestoreArguments): Deleted.
(JSC::DFG::OSRExit::executeOSRExit): Deleted.
(JSC::DFG::reifyInlinedCallFrames): Deleted.
(JSC::DFG::adjustAndJumpToTarget): Deleted.
(JSC::DFG::printOSRExit): Deleted.
* dfg/DFGOSRExit.h:
(JSC::DFG::OSRExitState::OSRExitState): Deleted.
* dfg/DFGOSRExitCompilerCommon.cpp:
* dfg/DFGOSRExitCompilerCommon.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGThunks.cpp:
(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::osrExitThunkGenerator): Deleted.
* dfg/DFGThunks.h:
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::debugCall):
* jit/AssemblyHelpers.h:
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* profiler/ProfilerOSRExit.h:
(JSC::Profiler::OSRExit::incCount): Deleted.
* runtime/JSCJSValue.h:
* runtime/JSCJSValueInlines.h:
* runtime/VM.h:

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

2 years agoSwitch multicolumn's spanner map from raw over to weak pointers.
zalan@apple.com [Thu, 14 Sep 2017 03:48:20 +0000 (03:48 +0000)]
Switch multicolumn's spanner map from raw over to weak pointers.
https://bugs.webkit.org/show_bug.cgi?id=176367
<rdar://problem/34254896>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/multicol/spanner-crash-when-adding-summary.html

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
(WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval):
* rendering/RenderMultiColumnFlowThread.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::firstRendererInFlowThread const):
(WebCore::RenderMultiColumnSet::lastRendererInFlowThread const):
* rendering/RenderMultiColumnSpannerPlaceholder.cpp:
(WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
* rendering/RenderMultiColumnSpannerPlaceholder.h:

LayoutTests:

* fast/multicol/spanner-crash-when-adding-summary-expected.txt: Added.
* fast/multicol/spanner-crash-when-adding-summary.html: Added.

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

2 years ago[JSC] Move class/struct used in other class' member out of anonymous namespace
utatane.tea@gmail.com [Thu, 14 Sep 2017 03:32:49 +0000 (03:32 +0000)]
[JSC] Move class/struct used in other class' member out of anonymous namespace
https://bugs.webkit.org/show_bug.cgi?id=176876

Reviewed by Saam Barati.

GCC warns if a class has a base or field whose type uses the anonymous namespace
and it is defined in an included file. This is because this possibly violates
one definition rule (ODR): if an included file has the anonymous namespace, each
translation unit creates its private anonymous namespace. Thus, each type
inside the anonymous namespace becomes different in each translation unit if
the file is included in multiple translation units.

While the current use in JSC is not violating ODR since these cpp files are included
only once for unified sources, specifying `-Wno-subobject-linkage` could miss
the actual bugs. So, in this patch, we just move related classes/structs out of
the anonymous namespace.

* dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::addition):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::arrayBounds):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::operator! const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::hash const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::operator== const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::dump const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKeyAndAddend::RangeKeyAndAddend):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKeyAndAddend::operator! const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKeyAndAddend::dump const):
(JSC::DFG::IntegerCheckCombiningPhase::Range::dump const):
* dfg/DFGLICMPhase.cpp:

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

2 years agoIntroduce Storage Access API (document parts) as an experimental feature
wilander@apple.com [Thu, 14 Sep 2017 03:12:17 +0000 (03:12 +0000)]
Introduce Storage Access API (document parts) as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=175759
<rdar://problem/34414107>

Reviewed by Alex Christensen.

Source/WebCore:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.

Tests: http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html
       http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html
       http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe.html
       http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html
       http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html
       http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html
       http/tests/storageAccess/request-storage-access-same-origin-iframe.html
       http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html
       http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html
       http/tests/storageAccess/request-storage-access-top-frame.html

* dom/Document.cpp:
(WebCore::Document::requestStorageAccess):
* dom/Document.h:
(WebCore::Document::hasStorageAccess const):
(WebCore::Document::setUserGrantsStorageAccessOverride):
    See comments on WebCore::Internals below.
* dom/Document.idl:
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::isSupportedSandboxPolicy):
(WebCore::SecurityContext::parseSandboxPolicy):
    Support for allow-storage-access-by-user-activation.
* dom/SecurityContext.h:
* loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::registerStorageAccess):
    Newly granted storage access is reported to
    WebCore::ResourceLoadObserver.
* loader/ResourceLoadObserver.h:
* loader/ResourceLoadStatistics.cpp:
(WebCore::encodeHashSet):
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::decodeHashSet):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::appendHashSet):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::mergeHashSet):
(WebCore::ResourceLoadStatistics::merge):
    Storage of the new type of data.
* loader/ResourceLoadStatistics.h:
* page/Settings.in:
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setUserGrantsStorageAccess):
* testing/Internals.h:
* testing/Internals.idl:
    Added setUserGrantsStorageAccess(). It is used to
    override the eventSender's keyboard input which
    always results in a cancel action on the confirm()
    dialog.

Source/WebKit:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):
    Storage handling of the new type of data.
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetStorageAccessAPIEnabled):
(WKPreferencesGetStorageAccessAPIEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/WebResourceLoadStatisticsStore.cpp:
    Bumped the model version from 9 to 10.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
    Turns the feature on for tests.

LayoutTests:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.

* TestExpectations:
* http/tests/storageAccess: Added.
* http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe-expected.txt: Added.
* http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html: Added.
* http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
* http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html: Added.
* http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe-expected.txt: Added.
* http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe.html: Added.
* http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
* http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html: Added.
* http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt: Added.
* http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html: Added.
* http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
* http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html: Added.
* http/tests/storageAccess/request-storage-access-same-origin-iframe-expected.txt: Added.
* http/tests/storageAccess/request-storage-access-same-origin-iframe.html: Added.
* http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-expected.txt: Added.
* http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
* http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html: Added.
* http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html: Added.
* http/tests/storageAccess/request-storage-access-top-frame-expected.txt: Added.
* http/tests/storageAccess/request-storage-access-top-frame.html: Added.
* http/tests/storageAccess/resources: Added.
* http/tests/storageAccess/resources/request-storage-access-iframe.html: Added.
* platform/mac-wk2/TestExpectations:
    New test cases that require a user gesture marked as [ Pass ].
    Also removed reference to (now closed) https://bugs.webkit.org/show_bug.cgi?id=175170.
* platform/wk2/TestExpectations:
    New test case request-storage-access-top-frame.html marked as [ Pass ].

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

2 years agoSubmitting a form can cause HTMLFormElement's associated elements vector to be mutate...
wenson_hsieh@apple.com [Thu, 14 Sep 2017 01:49:05 +0000 (01:49 +0000)]
Submitting a form can cause HTMLFormElement's associated elements vector to be mutated during iteration
https://bugs.webkit.org/show_bug.cgi?id=176368
<rdar://problem/34254998>

Reviewed by Ryosuke Niwa.

Source/WebCore:

In the process of iterating over form.associatedElements() during form submission in FormSubmission::create, the
page may cause us to clobber the vector of FormAssociatedElements* we're currently iterating over by inserting
new form controls beneath the form element we're in the process of submitting. This happens because
FormSubmission::create calls HTMLTextAreaElement::appendFormData, which requires layout to be up to date, which
in turn makes us updateLayout() and set focus, which fires a `change` event, upon which the page's JavaScript
inserts additonal DOM nodes into the form, modifying the vector of associated elements.

To mitigate this, instead of iterating over HTMLFormElement::associatedElements(), which returns a reference to
the HTMLFormElement's actual m_associatedElements vector, we iterate over a new vector of
Ref<FormAssociatedElement>s created from m_associatedElements.

This patch also removes an event dispatch assertion added in r212026. This assertion was added to catch any
other events dispatched in this scope, since dispatching events there would have had security implications, but
after making iteration over associated elements robust, this NoEventDispatchAssertion is no longer useful.

Test: fast/forms/append-children-during-form-submission.html

* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):

LayoutTests:

Adds a new test to make sure we don't crash when mutating a form's associated elements during form submission.

* fast/forms/append-children-during-form-submission-expected.txt: Added.
* fast/forms/append-children-during-form-submission.html: Added.

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

2 years ago[Apple Pay] Consider phoneticName when encoding ContactFields
aestes@apple.com [Thu, 14 Sep 2017 01:44:37 +0000 (01:44 +0000)]
[Apple Pay] Consider phoneticName when encoding ContactFields
https://bugs.webkit.org/show_bug.cgi?id=176885
<rdar://problem/34176419>

Reviewed by Tim Horton.

* Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::ContactFields>::encode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::ContactFields>::decode):

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

2 years agoWeb Inspector: allow recordings to be saved via ⌘-S in the Recording tab
webkit@devinrousso.com [Thu, 14 Sep 2017 00:32:04 +0000 (00:32 +0000)]
Web Inspector: allow recordings to be saved via ⌘-S in the Recording tab
https://bugs.webkit.org/show_bug.cgi?id=175284

Reviewed by Matt Baker.

* UserInterface/Views/RecordingContentView.js:
(WI.RecordingContentView.prototype.get supportsSave):
(WI.RecordingContentView.prototype.get saveData):

* UserInterface/Views/RecordingNavigationSidebarPanel.js:
(WI.RecordingNavigationSidebarPanel.prototype._exportNavigationItemClicked):
Use the current content view's saveData when exporting.

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

2 years agoWeb Inspector: Event Listeners section does not update when listeners are added/removed
webkit@devinrousso.com [Wed, 13 Sep 2017 23:50:54 +0000 (23:50 +0000)]
Web Inspector: Event Listeners section does not update when listeners are added/removed
https://bugs.webkit.org/show_bug.cgi?id=170570
<rdar://problem/31501645>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

* inspector/protocol/DOM.json:
Add two new events: "didAddEventListener" and "willRemoveEventListener". These events do not
contain any information about the event listeners that were added/removed. They serve more
as indications that something has changed, and to refetch the data again via `getEventListenersForNode`.

Source/WebCore:

Test: inspector/dom/event-listener-add-remove.html

* dom/EventTarget.cpp:
(WebCore::EventTarget::setAttributeEventListener):
Fire willRemoveEventListener/didAddEventListener events when an attribute event listener is
replaced by another event listener.

* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::didAddEventListener):
(WebCore::InspectorDOMAgent::willRemoveEventListener):
Dispatch an event to the inspector frontend whenever an event listener is added/removed.

* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didAddEventListenerImpl):
(WebCore::InspectorInstrumentation::willRemoveEventListenerImpl):
Tie into existing instrumentation points for adding/removing event listeners.

Source/WebInspectorUI:

* UserInterface/Protocol/DOMObserver.js:
(WI.DOMObserver.prototype.didAddEventListener):
(WI.DOMObserver.prototype.willRemoveEventListener):

* UserInterface/Controllers/DOMTreeManager.js:
(WI.DOMTreeManager.prototype.didAddEventListener):
(WI.DOMTreeManager.prototype.willRemoveEventListener):

* UserInterface/Models/DOMNode.js:
Add "EventListenersChanged" event. Fired when an event listener is added or removed.

* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WI.DOMNodeDetailsSidebarPanel.prototype.addEventListeners):
(WI.DOMNodeDetailsSidebarPanel.prototype.removeEventListeners):
(WI.DOMNodeDetailsSidebarPanel.prototype._eventListenersChanged):
Refresh the event listeners section whenever a node's event listeners change.

LayoutTests:

* inspector/dom/event-listener-add-remove-expected.txt: Added.
* inspector/dom/event-listener-add-remove.html: Added.

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

2 years agoWeb Inspector: Sort by size issues with Cookies and ApplicationCache DataGrids
commit-queue@webkit.org [Wed, 13 Sep 2017 23:46:44 +0000 (23:46 +0000)]
Web Inspector: Sort by size issues with Cookies and ApplicationCache DataGrids
https://bugs.webkit.org/show_bug.cgi?id=176879
<rdar://problem/34237096>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-09-13
Reviewed by Matt Baker.

* UserInterface/Views/ApplicationCacheFrameContentView.js:
(WI.ApplicationCacheFrameContentView.prototype._sortDataGrid):
(WI.ApplicationCacheFrameContentView.prototype._populateDataGrid):
This uses very dumb DataGridNodes with a pure data object. In that
object `size` is a bytes string not a number. Include the number size
in this data object that can be used during sorting.

* UserInterface/Views/CookieStorageContentView.js:
(WI.CookieStorageContentView.prototype._rebuildTable):
Simplify creation. Also don't reset sort options. Note that here the
DataGridNodes have access to the Cookie object and can already sort size
using the cookie's size (a number) and not the data's size (string).

* UserInterface/Views/DataGrid.js:
(WI.DataGrid.prototype.sortNodes):
(WI.DataGrid.prototype._sortNodesCallback):
If sortNodes was called twice, it would defer the sort and actually
do the sort with the first comparator and not the latest, preferred
comparator. Make it use the latest comparator.

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

2 years agoMark storage/indexeddb/modern/idbtransaction-objectstore-failures.html as flaky on...
pvollan@apple.com [Wed, 13 Sep 2017 23:38:05 +0000 (23:38 +0000)]
Mark storage/indexeddb/modern/idbtransaction-objectstore-failures.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=176880

Unreviewed test gardening.

* platform/win/TestExpectations:

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

2 years ago[Curl] Bug fix for synchronous transfer
commit-queue@webkit.org [Wed, 13 Sep 2017 23:33:56 +0000 (23:33 +0000)]
[Curl] Bug fix for synchronous transfer
https://bugs.webkit.org/show_bug.cgi?id=176552

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2017-09-13
Reviewed by Alex Christensen.

ResourceHandleInternal::m_delegate is null when transfer is synchronous. It should be set ResourceHandleCurlDelegate.
Also the callback functions called when transfer is completed is wrong.

* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
* platform/network/curl/ResourceHandleCurlDelegate.cpp:
(WebCore::ResourceHandleCurlDelegate::dispatchSynchronousJob):
(WebCore::ResourceHandleCurlDelegate::notifyFinish):
(WebCore::ResourceHandleCurlDelegate::notifyFail):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::ResourceHandleCurlDelegate::didReceiveData):
(WebCore::ResourceHandleCurlDelegate::willSendData):

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

2 years agoWeb Inspector: Styles Redesign: display @media section headers
nvasilyev@apple.com [Wed, 13 Sep 2017 23:20:30 +0000 (23:20 +0000)]
Web Inspector: Styles Redesign: display @media section headers
https://bugs.webkit.org/show_bug.cgi?id=176289
<rdar://problem/34228389>

Reviewed by Devin Rousso.

Prepend CSS media query selectors to every matching rule.

* UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
(.spreadsheet-css-declaration .media-label):
* UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._createMediaHeader):
Don't localize "@media" since it's CSS code.
Don't display "all" or "screen" media query selectors. One of the goals of the
Styles sidebar redesign is to fit more data.

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

2 years agoUnreviewed, rolling out r221976.
jlewis3@apple.com [Wed, 13 Sep 2017 22:47:18 +0000 (22:47 +0000)]
Unreviewed, rolling out r221976.

The test introduced was flaky from point of addition.

Reverted changeset:

"Introduce Storage Access API (document parts) as an
experimental feature"
https://bugs.webkit.org/show_bug.cgi?id=175759
http://trac.webkit.org/changeset/221976

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

2 years agoFollowup (r221805): Address comments and add more tests
commit-queue@webkit.org [Wed, 13 Sep 2017 22:00:13 +0000 (22:00 +0000)]
Followup (r221805): Address comments and add more tests
https://bugs.webkit.org/show_bug.cgi?id=176732

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-13
Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/images/decode-slow-load-static-image.html

Code clean up and adding a new test to ensure multiple decode() promises
can be resolved or rejected simultaneously without any issues.

* loader/ImageLoader.cpp:
(WebCore::ImageLoader::decode):
(WebCore::ImageLoader::decodeError):
* loader/ImageLoader.h:
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::decode):
(WebCore::BitmapImage::callDecodingCallbacks):
* platform/graphics/BitmapImage.h:

LayoutTests:

* http/tests/images/decode-slow-load-static-image-expected.txt: Added.
* http/tests/images/decode-slow-load-static-image.html: Added.

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

2 years agoInternals clearCacheStorageMemoryRepresentation should return a Promise
commit-queue@webkit.org [Wed, 13 Sep 2017 20:56:22 +0000 (20:56 +0000)]
Internals clearCacheStorageMemoryRepresentation should return a Promise
https://bugs.webkit.org/show_bug.cgi?id=176818

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

Source/WebCore:

No observable change of behavior.

* Modules/cache/DOMCacheEngine.h:
* testing/Internals.cpp:
(WebCore::Internals::clearCacheStorageMemoryRepresentation): Returning a promise when clearing is completed.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

Adding a completion handler to clearMemoryRepresentation.

* NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::clearMemoryRepresentation):
* NetworkProcess/cache/CacheStorageEngine.h:
* NetworkProcess/cache/CacheStorageEngineConnection.cpp:
(WebKit::CacheStorageEngineConnection::clearMemoryRepresentation):
* NetworkProcess/cache/CacheStorageEngineConnection.h:
* NetworkProcess/cache/CacheStorageEngineConnection.messages.in:
* WebProcess/Cache/WebCacheStorageConnection.cpp:
(WebKit::WebCacheStorageConnection::clearMemoryRepresentation):
(WebKit::WebCacheStorageConnection::clearMemoryRepresentationCompleted):
* WebProcess/Cache/WebCacheStorageConnection.h:
* WebProcess/Cache/WebCacheStorageConnection.messages.in:

LayoutTests:

Updating tests to interact with the caches after the clearCacheStorageMemoryRepresentation promise is completed.

* http/tests/cache-storage/cache-origins.https.html:
* http/tests/cache-storage/cache-persistency.https.html:

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

2 years agoFixed expectations of imported/w3c/web-platform-tests/html/webappapis/timers/type...
jlewis3@apple.com [Wed, 13 Sep 2017 20:55:28 +0000 (20:55 +0000)]
Fixed expectations of imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html.

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

2 years agoWeb Inspector: Frontend should be made to expect and handle disabled properties
nvasilyev@apple.com [Wed, 13 Sep 2017 20:48:09 +0000 (20:48 +0000)]
Web Inspector: Frontend should be made to expect and handle disabled properties
https://bugs.webkit.org/show_bug.cgi?id=166787
<rdar://problem/34379593>

Reviewed by Joseph Pecoraro.

Source/WebCore:

Include disabled (commented out) CSS properties in the payload.

Tests: inspector/css/css-property.html
       inspector/css/matched-style-properties.html

* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::populateAllProperties const):
(WebCore::InspectorStyle::styleWithProperties const):

Source/WebInspectorUI:

This change introduces WI.CSSStyleDeclaration.prototype.allProperties getter,
that includes both enabled and disabled (commented out) CSS properties.

The existing WI.CSSStyleDeclaration.prototype.properties getter only includes enabled CSS properties,
same as before the backend change.

There is no behaviour change in the current styles sidebar. The new redesigned styles sidebar will
use disabled properties and display them as commented out.

* UserInterface/Models/CSSProperty.js:
(WI.CSSProperty.prototype.get attached):
Rename `enabled` to `attached`, as it didn't correspond to `_enabled` property. Attached means that the property
is enabled and has a ownerStyle with a set index (unless it's a computed style, where index is not applicable).

(WI.CSSProperty.prototype.get enabled):
* UserInterface/Models/CSSStyleDeclaration.js:
(WI.CSSStyleDeclaration.prototype.get allProperties):
Add allProperties getter that will be used in the new styles sidebar.

* UserInterface/Models/DOMNodeStyles.js:
(WI.DOMNodeStyles.prototype._markOverriddenProperties):
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WI.CSSStyleDeclarationTextEditor.prototype.highlightProperty.propertiesMatch):
Rename "enabled" to "attached" without any behavior change.

LayoutTests:

Add test cases for disabled (commented out) CSS properties.

* inspector/css/css-property-expected.txt:
* inspector/css/css-property.html:
Add test cases for previously untested `enabled` and newly added `attached` getters.

* inspector/css/matched-style-properties.html:

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

2 years ago[GTK] Test gardening
commit-queue@webkit.org [Wed, 13 Sep 2017 20:43:59 +0000 (20:43 +0000)]
[GTK] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=176871

Patch by Alicia Boya García <aboya@igalia.com> on 2017-09-13
Reviewed by Michael Catanzaro.

* platform/gtk/TestExpectations:

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

2 years agoRebaseline http/tests/loading/state-object-security-exception.html after r221978.
ryanhaddad@apple.com [Wed, 13 Sep 2017 20:39:37 +0000 (20:39 +0000)]
Rebaseline http/tests/loading/state-object-security-exception.html after r221978.
https://bugs.webkit.org/show_bug.cgi?id=176730

Unreviewed test gardening.

* http/tests/loading/state-object-security-exception-expected.txt:

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

2 years agoWeb Inspector: Escape in global search field should clear it
commit-queue@webkit.org [Wed, 13 Sep 2017 20:24:55 +0000 (20:24 +0000)]
Web Inspector: Escape in global search field should clear it
https://bugs.webkit.org/show_bug.cgi?id=176764

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-09-13
Reviewed by Timothy Hatcher.

* UserInterface/Views/QuickConsole.js:
(WI.QuickConsole.prototype._toggleOrFocus):
Don't implicitly prevent default. So if we didn't cause an action we
can let the default system action happen.

* UserInterface/Views/SearchBar.js:
(WI.SearchBar):
Remove unused keyboard shortcuts.

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

2 years ago[GTK] Fails to build because 'Float32Array' has not been declared in AudioContext.h
clopez@igalia.com [Wed, 13 Sep 2017 20:17:35 +0000 (20:17 +0000)]
[GTK] Fails to build because 'Float32Array' has not been declared in AudioContext.h
https://bugs.webkit.org/show_bug.cgi?id=176870

Reviewed by Konstantin Tokarev.

Add missing include of Float32Array.h

No new tests, its a build fix.

* Modules/webaudio/AudioContext.h:

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

2 years agoVersioning.
jmarcell@apple.com [Wed, 13 Sep 2017 20:04:45 +0000 (20:04 +0000)]
Versioning.

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

2 years ago[CF] Upstream CFNetwork-related WebKitSystemInterface functions
aestes@apple.com [Wed, 13 Sep 2017 20:02:11 +0000 (20:02 +0000)]
[CF] Upstream CFNetwork-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176729

Reviewed by Alex Christensen.

Source/WebCore:

* platform/ios/WebCoreSystemInterfaceIOS.mm:
* platform/mac/PublicSuffixMac.mm:
(WebCore::isPublicSuffix):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
* platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::setCONNECTProxyForStream):
(WebCore::SocketStreamHandleImpl::createStreams):
(WebCore::setCONNECTProxyAuthorizationForStream):
(WebCore::SocketStreamHandleImpl::addCONNECTCredentials):
(WebCore::copyCONNECTProxyResponse):
(WebCore::SocketStreamHandleImpl::readStreamCallback):
(WebCore::SocketStreamHandleImpl::writeStreamCallback):
* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):

Source/WebCore/PAL:

* pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::createSerializableRepresentation):
(IPC::dictionaryValueOfType):
(IPC::createArchiveList):
(IPC::createCFURLRequestFromSerializableRepresentation):
(IPC::createNSURLRequestFromSerializableRepresentation):
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::legacyPlatformDefaultCacheStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):
* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

Source/WebKitLegacy/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):

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

2 years agoCompress spindumps on client side before packaging into layout test results zip ...
lforschler@apple.com [Wed, 13 Sep 2017 19:54:06 +0000 (19:54 +0000)]
Compress spindumps on client side before packaging into layout test results zip (mac & ios)
https://bugs.webkit.org/show_bug.cgi?id=176853

Reviewed by Aakash Jain.

* BuildSlaveSupport/test-result-archive:
(main):
(gzip_file): use gzip to compress a file, removing original
(compress_spindumps): find and compress spindumps matching a filter
(archive_test_results): refactor to snake_case
(archiveTestResults): Deleted.

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

2 years agoFollowup rebaseline after r221973.
jlewis3@apple.com [Wed, 13 Sep 2017 18:45:41 +0000 (18:45 +0000)]
Followup rebaseline after r221973.

Unreviewed test gardening.

* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

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

2 years agoMark http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html as a flaky...
pvollan@apple.com [Wed, 13 Sep 2017 18:41:13 +0000 (18:41 +0000)]
Mark http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=176866

Unreviewed test gardening.

* platform/win/TestExpectations:

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

2 years agoAdd WKUIDelegatePrivate equivalent of WKPageUIClient's setIsResizable, getWindowFrame...
achristensen@apple.com [Wed, 13 Sep 2017 18:38:04 +0000 (18:38 +0000)]
Add WKUIDelegatePrivate equivalent of WKPageUIClient's setIsResizable, getWindowFrame, and setWindowFrame
https://bugs.webkit.org/show_bug.cgi?id=176857
<rdar://problem/29270035>

Reviewed by Tim Horton.

Source/WebKit:

isResizable is unreachable code because nothing sends Messages::WebPageProxy::GetIsResizable, so I removed it.

* UIProcess/API/APIUIClient.h:
(API::UIClient::setStatusBarIsVisible):
(API::UIClient::isResizable): Deleted.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/API/glib/WebKitUIClient.cpp:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::setIsResizable):
(WebKit::UIDelegate::UIClient::setWindowFrame):
(WebKit::UIDelegate::UIClient::windowFrame):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getIsResizable): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[ModalDelegate _webViewRunModal:]):
(-[ModalDelegate _webView:setResizable:]):
(-[WindowFrameDelegate _webView:setWindowFrame:]):
(-[WindowFrameDelegate _webView:getWindowFrameWithCompletionHandler:]):
(-[WindowFrameDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
(-[ResizableDelegate _webView:setResizable:]):
(-[ResizableDelegate _webView:getIsResizableWithCompletionHandler:]):
(-[ResizableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):

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

2 years agoSkip 3 op_mod tests on Debug JSC bots.
ryanhaddad@apple.com [Wed, 13 Sep 2017 18:25:11 +0000 (18:25 +0000)]
Skip 3 op_mod tests on Debug JSC bots.
https://bugs.webkit.org/show_bug.cgi?id=176630

Unreviewed test gardening.

* stress/op_mod-ConstVar.js:
* stress/op_mod-VarConst.js:
* stress/op_mod-VarVar.js:

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

2 years agoMake more of the CSS animation system internals element based
antti@apple.com [Wed, 13 Sep 2017 18:20:12 +0000 (18:20 +0000)]
Make more of the CSS animation system internals element based
https://bugs.webkit.org/show_bug.cgi?id=176832

Reviewed by Zalan Bujtas.

CSS animations animate element style. Continue moving away from renderers in the animation code.

Also do some general modernization.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::computeRenderStyleForProperty):
* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::AnimationBase):
* page/animation/AnimationBase.h:
* page/animation/CSSAnimationController.cpp:
(WebCore::CSSAnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::CSSAnimationControllerPrivate::clear):
(WebCore::CSSAnimationControllerPrivate::updateAnimations):
(WebCore::CSSAnimationControllerPrivate::updateAnimationTimerForElement):
(WebCore::CSSAnimationControllerPrivate::isRunningAnimationOnRenderer const):
(WebCore::CSSAnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer const):
(WebCore::CSSAnimationControllerPrivate::pauseAnimationAtTime):
(WebCore::CSSAnimationControllerPrivate::pauseTransitionAtTime):
(WebCore::CSSAnimationControllerPrivate::animatedStyleForElement):
(WebCore::CSSAnimationControllerPrivate::computeExtentOfAnimation const):
(WebCore::CSSAnimationController::cancelAnimations):
(WebCore::CSSAnimationController::updateAnimations):
(WebCore::CSSAnimationController::animatedStyleForRenderer):
(WebCore::CSSAnimationController::computeExtentOfAnimation const):
(WebCore::CSSAnimationController::pauseAnimationAtTime):
(WebCore::CSSAnimationController::pauseTransitionAtTime):
(WebCore::CSSAnimationControllerPrivate::updateAnimationTimerForRenderer): Deleted.
(WebCore::CSSAnimationControllerPrivate::getAnimatedStyleForRenderer): Deleted.
(WebCore::CSSAnimationController::getAnimatedStyleForRenderer): Deleted.
* page/animation/CSSAnimationController.h:
* page/animation/CSSAnimationControllerPrivate.h:
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::~CompositeAnimation):
(WebCore::CompositeAnimation::clearElement):
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
(WebCore::CompositeAnimation::clearRenderer): Deleted.
* page/animation/CompositeAnimation.h:
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::ImplicitAnimation):
(WebCore::ImplicitAnimation::animate):
* page/animation/ImplicitAnimation.h:
(WebCore::ImplicitAnimation::create):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::animate):
* page/animation/KeyframeAnimation.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::willBeDestroyed):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::currentTransform const):
* style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::createRenderer):
* style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):
* testing/Internals.cpp:
(WebCore::Internals::pauseAnimationAtTimeOnElement):
(WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
(WebCore::Internals::pauseTransitionAtTimeOnElement):
(WebCore::Internals::pauseTransitionAtTimeOnPseudoElement):

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

2 years agoMarked svg/animations/smil-leak-dynamically-added-element-instances.svg as flaky...
jlewis3@apple.com [Wed, 13 Sep 2017 18:15:23 +0000 (18:15 +0000)]
Marked svg/animations/smil-leak-dynamically-added-element-instances.svg as flaky on macOS WK1.
https://bugs.webkit.org/show_bug.cgi?id=175867

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

2 years agoMake history.pushState()/replaceState() more closely aligned to the HTML standard
dbates@webkit.org [Wed, 13 Sep 2017 18:06:24 +0000 (18:06 +0000)]
Make history.pushState()/replaceState() more closely aligned to the HTML standard
https://bugs.webkit.org/show_bug.cgi?id=176730
<rdar://problem/33839265>

Reviewed by Alex Christensen.

Source/WebCore:

Update history.pushState()/replaceState() to more closely align with the algorithm
specified in <https://html.spec.whatwg.org/multipage/history.html#dom-history-pushstate-2> (9 September 2017).

Test: http/tests/security/history-pushState-replaceState-from-sandboxed-iframe.html

* page/History.cpp:
(WebCore::History::stateObjectAdded):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::extractInnerURL): Use URL constructor that takes a base URL as opposed
to using the special ParsedURLString-variant because the latter can only be used to parse a string
returned from URL::string(). And the extracted inner URL does not meet this criterion. Using the
ParsedURLString-variant of the URL constructor with a string that is not the result of URL::string()
will cause an assertion failure in a debug build.

LayoutTests:

* http/tests/security/history-pushState-replaceState-from-sandboxed-iframe-expected.txt: Added.
* http/tests/security/history-pushState-replaceState-from-sandboxed-iframe.html: Added.
* http/tests/security/history-username-password-expected.txt:
* http/tests/security/history-username-password.html:
* http/tests/security/resources/history-pushState-replaceState-from-sandboxed-iframe.html: Added.

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

2 years agoAdd a lambda-based map for Vectors
commit-queue@webkit.org [Wed, 13 Sep 2017 17:50:48 +0000 (17:50 +0000)]
Add a lambda-based map for Vectors
https://bugs.webkit.org/show_bug.cgi?id=176487

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

Source/WebKit:

* NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::readCachesFromDisk):

Source/WTF:

This helper routine allows refactoring the reserveInitialCapacity/uncheckedAppend pattern, the mapper between source and destination item being a lambda.

* wtf/Vector.h:
(WTF::Mapper::transform):
(WTF::Mapper::map):
(WTF::map):

Tools:

* TestWebKitAPI/Tests/WTF/Vector.cpp:
(TestWebKitAPI::TEST):

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

2 years agoIntroduce Storage Access API (document parts) as an experimental feature
wilander@apple.com [Wed, 13 Sep 2017 17:47:52 +0000 (17:47 +0000)]
Introduce Storage Access API (document parts) as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=175759
<rdar://problem/33666847>

Reviewed by Alex Christensen.

Source/WebCore:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.

Tests: http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe.html
       http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html
       http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe.html
       http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html
       http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html
       http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html
       http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe.html
       http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html
       http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe.html
       http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame.html

* dom/Document.cpp:
(WebCore::Document::requestStorageAccess):
* dom/Document.h:
(WebCore::Document::hasStorageAccess const):
(WebCore::Document::setUserGrantsStorageAccessOverride):
    See comments on WebCore::Internals below.
* dom/Document.idl:
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::isSupportedSandboxPolicy):
(WebCore::SecurityContext::parseSandboxPolicy):
    Support for allow-storage-access-by-user-activation.
* dom/SecurityContext.h:
* loader/ResourceLoadObserver.cpp:
(WebCore::ResourceLoadObserver::registerStorageAccess):
    Newly granted storage access is reported to
    WebCore::ResourceLoadObserver.
* loader/ResourceLoadObserver.h:
* loader/ResourceLoadStatistics.cpp:
(WebCore::encodeHashSet):
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::decodeHashSet):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::appendHashSet):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::mergeHashSet):
(WebCore::ResourceLoadStatistics::merge):
    Storage of the new type of data.
* loader/ResourceLoadStatistics.h:
* page/Settings.in:
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setUserGrantsStorageAccess):
* testing/Internals.h:
* testing/Internals.idl:
    Added setUserGrantsStorageAccess(). It is used to
    override the eventSender's keyboard input which
    always results in a cancel action on the confirm()
    dialog.

Source/WebKit:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):
    Storage handling of the new type of data.
* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetStorageAccessAPIEnabled):
(WKPreferencesGetStorageAccessAPIEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/WebResourceLoadStatisticsStore.cpp:
    Bumped the model version from 9 to 10.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
    Turns the feature on for tests.

LayoutTests:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:
- A new readonly attribute, document.hasStorageAccess.
- A new function, document.requestStorageAccess().
- A new iframe sandbox token, allow-storage-access-by-user-activation.

* http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe.html: Added.
* http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html: Added.
* http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe.html: Added.
* http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe.html: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe.html: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame-expected.txt: Added.
* http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame.html: Added.
* http/tests/loading/resourceLoadStatistics/resources/request-storage-access-iframe.html: Added.
* platform/mac-wk2/TestExpectations:
    New test cases that require a user gesture marked as [ Pass ].
    Also removed reference to (now closed) https://bugs.webkit.org/show_bug.cgi?id=175170.
* platform/wk2/TestExpectations:
    New test case request-storage-access-top-frame.html marked as [ Pass ].

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

2 years ago[Win] DRT option --gc-between-tests is not implemented.
pvollan@apple.com [Wed, 13 Sep 2017 17:46:02 +0000 (17:46 +0000)]
[Win] DRT option --gc-between-tests is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=176849

Reviewed by Brent Fulgham.

Perform GC after the test if this option is enabled. This patch also set the initial value of the flag
to true, in order to catch GC related issues in the test in which they occur.

* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest):

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

2 years ago[HarfBuzz] Wrong offset returned by HarfBuzzShaper::offsetForPosition in some cases
carlosgc@webkit.org [Wed, 13 Sep 2017 17:14:54 +0000 (17:14 +0000)]
[HarfBuzz] Wrong offset returned by HarfBuzzShaper::offsetForPosition in some cases
https://bugs.webkit.org/show_bug.cgi?id=176848

Reviewed by Michael Catanzaro.

Source/WebCore:

This patch rewrites HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition() to make it simpler and ensure we
return the right offset in all the cases, also honoring now the includePartialGlyphs parameter that we were
ignoring in FontCascade::offsetForPositionForComplexText().

Fixes several tests that started to fail after r221909.

* platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:
(WebCore::FontCascade::offsetForPositionForComplexText const):
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
(WebCore::HarfBuzzShaper::offsetForPosition):
* platform/graphics/harfbuzz/HarfBuzzShaper.h:

LayoutTests:

Rebaseline several tests where we are now getting results similar to the mac ones.

* platform/gtk/editing/execCommand/findString-2-expected.txt:
* platform/gtk/editing/selection/14971-expected.png:
* platform/gtk/editing/selection/14971-expected.txt:
* platform/gtk/editing/selection/4895428-2-expected.png:
* platform/gtk/editing/selection/4895428-2-expected.txt:
* platform/gtk/editing/selection/5232159-expected.png:
* platform/gtk/editing/selection/5232159-expected.txt:
* platform/gtk/editing/selection/collapse-selection-in-bidi-expected.txt:
* platform/gtk/editing/selection/drag-select-1-expected.png:
* platform/gtk/editing/selection/drag-select-1-expected.txt:
* platform/gtk/editing/selection/editable-links-expected.png:
* platform/gtk/editing/selection/editable-links-expected.txt:
* platform/gtk/editing/selection/fake-doubleclick-expected.txt:
* platform/gtk/editing/selection/fake-drag-expected.txt:
* platform/gtk/editing/selection/select-across-readonly-input-1-expected.png:
* platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt:
* platform/gtk/editing/selection/select-across-readonly-input-2-expected.png:
* platform/gtk/editing/selection/select-across-readonly-input-2-expected.txt:
* platform/gtk/editing/selection/select-across-readonly-input-3-expected.png:
* platform/gtk/editing/selection/select-across-readonly-input-3-expected.txt:
* platform/gtk/editing/selection/select-across-readonly-input-4-expected.png:
* platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt:
* platform/gtk/editing/selection/select-across-readonly-input-5-expected.png:
* platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt:
* platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png:
* platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
* platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png:
* platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
* platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
* platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
* platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.png:
* platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
* platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.png:
* platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
* platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.png:
* platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.txt:
* platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
* platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.txt:
* platform/gtk/fast/repaint/selection-rl-expected.png:
* platform/gtk/fast/repaint/selection-rl-expected.txt:
* platform/gtk/fast/text/atsui-rtl-override-selection-expected.png:
* platform/gtk/fast/text/atsui-rtl-override-selection-expected.txt:
* platform/gtk/fast/text/in-rendered-text-rtl-expected.txt:
* platform/gtk/svg/custom/foreignObject-crash-on-hover-expected.txt:
* platform/gtk/svg/text/select-text-svgfont-expected.txt: Removed.
* platform/gtk/transitions/svg-text-shadow-transition-expected.png:
* platform/gtk/transitions/svg-text-shadow-transition-expected.txt:

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

2 years agoRebaseline of js/dom/global-constructors-attributes.html.
jlewis3@apple.com [Wed, 13 Sep 2017 17:08:00 +0000 (17:08 +0000)]
Rebaseline of js/dom/global-constructors-attributes.html.

Unreviewed test gardening.

* platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-sierra-wk2/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

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

2 years agoInitialize InternalSettings member variable.
pvollan@apple.com [Wed, 13 Sep 2017 16:23:31 +0000 (16:23 +0000)]
Initialize InternalSettings member variable.
https://bugs.webkit.org/show_bug.cgi?id=176838

Reviewed by Brent Fulgham.

Initialize the m_webVREnabled member in the constructor.

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):

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

2 years agoMake WebGLRenderingContextBase::TypedList::data() const-correct.
commit-queue@webkit.org [Wed, 13 Sep 2017 16:03:10 +0000 (16:03 +0000)]
Make WebGLRenderingContextBase::TypedList::data() const-correct.
https://bugs.webkit.org/show_bug.cgi?id=176833

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-13
Reviewed by Sam Weinig.

No change of behavior.

* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::validateUniformMatrixParameters):
* html/canvas/WebGLRenderingContextBase.h:
(WebCore::WebGLRenderingContextBase::TypedList::data const):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
(WebCore::GraphicsContext3D::vertexAttrib1fv):
(WebCore::GraphicsContext3D::vertexAttrib2fv):
(WebCore::GraphicsContext3D::vertexAttrib3fv):
(WebCore::GraphicsContext3D::vertexAttrib4fv):

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

2 years ago[JSC] Fix Array allocation in Object.keys
utatane.tea@gmail.com [Wed, 13 Sep 2017 15:48:20 +0000 (15:48 +0000)]
[JSC] Fix Array allocation in Object.keys
https://bugs.webkit.org/show_bug.cgi?id=176826

Reviewed by Saam Barati.

JSTests:

* stress/object-own-property-keys.js: Added.
(shouldBe):

Source/JavaScriptCore:

When isHavingABadTime() is true, array allocation does not become ArrayWithContiguous.
We check isHavingABadTime() in ownPropertyKeys fast path.
And we also ensures that ownPropertyKeys uses putDirect operation instead of put by a test.

* runtime/ObjectConstructor.cpp:
(JSC::ownPropertyKeys):

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

2 years agoRemove CanvasRenderingContext2D.commit(), it is a no-op and not part the standard
weinig@apple.com [Wed, 13 Sep 2017 15:31:16 +0000 (15:31 +0000)]
Remove CanvasRenderingContext2D.commit(), it is a no-op and not part the standard
https://bugs.webkit.org/show_bug.cgi?id=176821

Reviewed by Darin Adler.

Source/WebCore:

* html/canvas/CanvasRenderingContext2D.h:
* html/canvas/CanvasRenderingContext2D.idl:

    Remove the commit operation. It is no longer part the standard (it was
    moved to OffscreenCanvasRenderingContext2D) and it was a no-op.

LayoutTests:

* fast/canvas/commit-expected.txt: Removed.
* fast/canvas/commit.html: Removed.
* inspector/canvas/recording-2d-expected.txt:
* inspector/canvas/recording-2d.html:

    Remove CanvasRenderingContext2D.commit() from test and update result.

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

2 years agoEnsure the user interacted with the page before setting m_userHasInteractedWithMediaE...
mrajca@apple.com [Wed, 13 Sep 2017 15:02:40 +0000 (15:02 +0000)]
Ensure the user interacted with the page before setting m_userHasInteractedWithMediaElement
https://bugs.webkit.org/show_bug.cgi?id=176816

Reviewed by Eric Carlson.

Currently, when the user presses a keyboard shortcut in the client to reload a page, that may
get registered as a user gesture on the reloaded page. Before setting the
m_userHasInteractedWithMediaElement flag, we should check if a user gesture was actually handled
by checking the userDidInteractWithPage flag. In case of key events that aren't handled by the
page, this will be set to false by EventHandler:

    // If the key event was not handled, do not treat it as user interaction with the page.
    if (topDocument && !wasHandled)
        topDocument->setUserDidInteractWithPage(savedUserDidInteractWithPage);

We need to revisit this in the future in webkit.org/b/176817 and ensure user gesture tokens
don't carry over across reloads of the page.

Tests: I wasn't able to trigger the pathological scenario this aims to fix with a test that calls
window.location.reload() from a synthetic keyDown event.

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

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

2 years agoDisallow passing null values to various WebGL2 methods.
commit-queue@webkit.org [Wed, 13 Sep 2017 11:47:44 +0000 (11:47 +0000)]
Disallow passing null values to various WebGL2 methods.
https://bugs.webkit.org/show_bug.cgi?id=176829

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-13
Reviewed by Yusuke Suzuki.

This matches the specification as well as Gecko and Chromium.

Source/WebCore:

Test: fast/canvas/webgl/webgl2/bindings.html

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::beginQuery):
(WebCore::WebGL2RenderingContext::getQueryParameter):
(WebCore::WebGL2RenderingContext::samplerParameteri):
(WebCore::WebGL2RenderingContext::samplerParameterf):
(WebCore::WebGL2RenderingContext::getSamplerParameter):
(WebCore::WebGL2RenderingContext::clientWaitSync):
(WebCore::WebGL2RenderingContext::waitSync):
(WebCore::WebGL2RenderingContext::getSyncParameter):
(WebCore::WebGL2RenderingContext::transformFeedbackVaryings):
(WebCore::WebGL2RenderingContext::getTransformFeedbackVarying):
(WebCore::WebGL2RenderingContext::getUniformIndices):
(WebCore::WebGL2RenderingContext::getUniformBlockIndex):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockParameter):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockName):
(WebCore::WebGL2RenderingContext::uniformBlockBinding):
* html/canvas/WebGL2RenderingContext.h:
* html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

* fast/canvas/webgl/webgl2/bindings-expected.txt:
* fast/canvas/webgl/webgl2/bindings.html:

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

2 years ago[WebVR] Add IDLs and stubs
svillar@igalia.com [Wed, 13 Sep 2017 11:17:27 +0000 (11:17 +0000)]
[WebVR] Add IDLs and stubs
https://bugs.webkit.org/show_bug.cgi?id=174202

Reviewed by Dean Jackson.

Source/WebCore:

Adding the complete set of IDLs for the WebVR 1.1 spec including the interface stubs which
currently do nothing.

Tests: webvr/webvr-disabled.html
       webvr/webvr-enabled.html

* CMakeLists.txt:
* DerivedSources.make:
* Modules/webvr/DOMWindowWebVR.idl: Added.
* Modules/webvr/GamepadWebVR.cpp: Added.
(WebCore::GamepadWebVR::GamepadWebVR):
(WebCore::GamepadWebVR::~GamepadWebVR):
(WebCore::GamepadWebVR::displayId):
* Modules/webvr/GamepadWebVR.h: Added.
* Modules/webvr/GamepadWebVR.idl: Added.
* Modules/webvr/NavigatorWebVR.cpp: Added.
(WebCore::NavigatorWebVR::getVRDisplays):
(WebCore::NavigatorWebVR::activeVRDisplays):
(WebCore::NavigatorWebVR::vrEnabled):
* Modules/webvr/NavigatorWebVR.h: Added.
* Modules/webvr/NavigatorWebVR.idl: Added.
* Modules/webvr/VRDisplay.cpp: Added.
(WebCore::VRDisplay::create):
(WebCore::VRDisplay::VRDisplay):
(WebCore::VRDisplay::isConnected const):
(WebCore::VRDisplay::isPresenting const):
(WebCore::VRDisplay::capabilities const):
(WebCore::VRDisplay::stageParameters const):
(WebCore::VRDisplay::getEyeParameters const):
(WebCore::VRDisplay::displayId const):
(WebCore::VRDisplay::displayName const):
(WebCore::VRDisplay::getFrameData const):
(WebCore::VRDisplay::getPose const):
(WebCore::VRDisplay::resetPose):
(WebCore::VRDisplay::depthNear const):
(WebCore::VRDisplay::setDepthNear):
(WebCore::VRDisplay::depthFar const):
(WebCore::VRDisplay::setDepthFar):
(WebCore::VRDisplay::requestAnimationFrame):
(WebCore::VRDisplay::cancelAnimationFrame):
(WebCore::VRDisplay::requestPresent):
(WebCore::VRDisplay::exitPresent):
(WebCore::VRDisplay::getLayers const):
(WebCore::VRDisplay::submitFrame):
(WebCore::VRDisplay::hasPendingActivity const):
(WebCore::VRDisplay::activeDOMObjectName const):
(WebCore::VRDisplay::canSuspendForDocumentSuspension const):
(WebCore::VRDisplay::stop):
* Modules/webvr/VRDisplay.h: Added.
* Modules/webvr/VRDisplay.idl: Added.
* Modules/webvr/VRDisplayCapabilities.cpp: Added.
(WebCore::VRDisplayCapabilities::hasPosition const):
(WebCore::VRDisplayCapabilities::hasOrientation const):
(WebCore::VRDisplayCapabilities::hasExternalDisplay const):
(WebCore::VRDisplayCapabilities::canPresent const):
(WebCore::VRDisplayCapabilities::maxLayer const):
* Modules/webvr/VRDisplayCapabilities.h: Added.
(WebCore::VRDisplayCapabilities::create):
* Modules/webvr/VRDisplayCapabilities.idl: Added.
* Modules/webvr/VRDisplayEvent.cpp: Added.
(WebCore::VRDisplayEvent::VRDisplayEvent):
(WebCore::VRDisplayEvent::display const):
(WebCore::VRDisplayEvent::reason const):
(WebCore::VRDisplayEvent::eventInterface const):
* Modules/webvr/VRDisplayEvent.h: Added.
* Modules/webvr/VRDisplayEvent.idl: Added.
* Modules/webvr/VRDisplayEventReason.h: Added.
* Modules/webvr/VRDisplayEventReason.idl: Added.
* Modules/webvr/VREye.h: Added.
* Modules/webvr/VREye.idl: Added.
* Modules/webvr/VREyeParameters.cpp: Added.
(WebCore::VREyeParameters::VREyeParameters):
(WebCore::VREyeParameters::offset const):
(WebCore::VREyeParameters::fieldOfView const):
(WebCore::VREyeParameters::renderWidth const):
(WebCore::VREyeParameters::renderHeight const):
* Modules/webvr/VREyeParameters.h: Added.
(WebCore::VREyeParameters::create):
* Modules/webvr/VREyeParameters.idl: Added.
* Modules/webvr/VRFieldOfView.cpp: Added.
(WebCore::VRFieldOfView::upDegrees const):
(WebCore::VRFieldOfView::rightDegrees const):
(WebCore::VRFieldOfView::downDegrees const):
(WebCore::VRFieldOfView::leftDegrees const):
* Modules/webvr/VRFieldOfView.h: Added.
(WebCore::VRFieldOfView::create):
* Modules/webvr/VRFieldOfView.idl: Added.
* Modules/webvr/VRFrameData.cpp: Added.
(WebCore::VRFrameData::VRFrameData):
(WebCore::VRFrameData::timestamp const):
(WebCore::VRFrameData::leftProjectionMatrix const):
(WebCore::VRFrameData::leftViewMatrix const):
(WebCore::VRFrameData::rightProjectionMatrix const):
(WebCore::VRFrameData::rightViewMatrix const):
(WebCore::VRFrameData::pose const):
* Modules/webvr/VRFrameData.h: Added.
(WebCore::VRFrameData::create):
* Modules/webvr/VRFrameData.idl: Added.
* Modules/webvr/VRLayerInit.h: Added.
* Modules/webvr/VRLayerInit.idl: Added.
* Modules/webvr/VRPose.cpp: Added.
(WebCore::VRPose::position const):
(WebCore::VRPose::linearVelocity const):
(WebCore::VRPose::linearAcceleration const):
(WebCore::VRPose::orientation const):
(WebCore::VRPose::angularVelocity const):
(WebCore::VRPose::angularAcceleration const):
* Modules/webvr/VRPose.h: Added.
(WebCore::VRPose::create):
* Modules/webvr/VRPose.idl: Added.
* Modules/webvr/VRStageParameters.cpp: Added.
(WebCore::VRStageParameters::sittingToStandingTransform const):
(WebCore::VRStageParameters::sizeX const):
(WebCore::VRStageParameters::sizeZ const):
* Modules/webvr/VRStageParameters.h: Added.
(WebCore::VRStageParameters::create):
* Modules/webvr/VRStageParameters.idl: Added.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:
* dom/EventNames.h:
* dom/EventNames.in:
* dom/EventTargetFactory.in:
* features.json:
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setWebVREnabled):
(WebCore::RuntimeEnabledFeatures::webVREnabled const):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setWebVREnabled):
* testing/InternalSettings.h:
* testing/InternalSettings.idl:

Source/WebKit:

* Shared/WebPreferencesDefinitions.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

LayoutTests:

New tests to verify that WebVR is properly enabled/disabled at runtime.

* webvr/webvr-disabled-expected.txt: Added.
* webvr/webvr-disabled.html: Added.
* webvr/webvr-enabled-expected.txt: Added.
* webvr/webvr-enabled.html: Added.

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

2 years agoUpdate the type of the texture argument to framebufferTextureLayer().
commit-queue@webkit.org [Wed, 13 Sep 2017 08:04:42 +0000 (08:04 +0000)]
Update the type of the texture argument to framebufferTextureLayer().
https://bugs.webkit.org/show_bug.cgi?id=176785

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-13
Reviewed by Yusuke Suzuki.

This matches the specification as well as Gecko and Chromium.

Source/WebCore:

Also move getInternalformatParameter() to the position it has in the
specification, for easier comparison.

Test: fast/canvas/webgl/webgl2/bindings.html

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::framebufferTextureLayer):
* html/canvas/WebGL2RenderingContext.h:
* html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

* fast/canvas/webgl/webgl2/bindings-expected.txt:
* fast/canvas/webgl/webgl2/bindings.html:

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

2 years ago[EME] Implement CDMInstanceClearKey::updateLicense()
zandobersek@gmail.com [Wed, 13 Sep 2017 07:37:13 +0000 (07:37 +0000)]
[EME] Implement CDMInstanceClearKey::updateLicense()
https://bugs.webkit.org/show_bug.cgi?id=176791

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement the updateLicense() method for CDMInstanceClearKey.
The response data is parsed as JSON, matching that agains either
'license' or 'license release acknowledgement' formats (depending
on either 'keys' or 'kids' object keys being present). If any
format is recognized, appropriate steps are taken.

In case of the 'license' format, the passed-in keys are matched
against existing ones. If some keys have changed or have been
newly introduced, the key information is sorted by key ID size
and data to enforce order. After that the KeyStatusVector object
is constructed, containing key ID and status information for all
the keys associated with this session. Finally callback is
dispatched, signalling a successful operation and passing the
KeyStatusVector, if any, back to the caller.

In case of the 'license release acknowledgement' format, the
session data for this session ID is removed from the ClearKey state
singleton. The callback is dispatched signalling the session closure
and successfull completion of the operation.

Finally, if no format is deduced, the callback is again dispatched,
but now signalling an operation failure.

No new tests -- expectations for the relevant tests are updated
to reflect the introduced changes.

* platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::ClearKeyState::keys):
(WebCore::ClearKeyState::singleton):
(WebCore::parseLicenseFormat):
(WebCore::parseLicenseReleaseAcknowledgementFormat):
(WebCore::CDMInstanceClearKey::updateLicense):

LayoutTests:

Update WPE baselines of the EME ClearKey tests.

* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt:
* platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt:

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

2 years agoRefactor WebContentReader out of EditorMac and EditorIOS
rniwa@webkit.org [Wed, 13 Sep 2017 07:17:43 +0000 (07:17 +0000)]
Refactor WebContentReader out of EditorMac and EditorIOS
https://bugs.webkit.org/show_bug.cgi?id=176770

Reviewed by Sam Weinig.

Source/WebCore:

Extracted WebContentReader.h, WebContentReaderMac.mm, and WebContentIOS.mm from Pasteboard.h,
EditorMac.mm, and EditorIOS.mm respectively.

Also moved createFragmentAndAddResources from EditorCocoa.mm to WebContentReaderCocoa.mm
and createFragmentForImageAndURL and createFragmentForImageResourceAndAddResource to markup.cpp.

* Configurations/WebCore.xcconfig:
* PlatformMac.cmake:
* WebCore.xcodeproj/project.pbxproj:
* editing/Editor.cpp:
(WebCore::Editor::createFragmentForImageAndURL): Deleted.
* editing/Editor.h:
* editing/WebContentReader.h: Added.
* editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::replaceSelectionWithAttributedString):
(WebCore::Editor::createFragment): Deleted.
(WebCore::Editor::createFragmentForImageResourceAndAddResource): Deleted.
(WebCore::Editor::createFragmentAndAddResources): Deleted.
* editing/cocoa/WebContentReaderCocoa.mm: Added.
(WebCore::createFragmentForImageResourceAndAddResource):
(WebCore::createFragment):
(WebCore::createFragmentAndAddResources):
* editing/ios/EditorIOS.mm:
(WebCore::Editor::WebContentReader): Moved to WebContentReaderIOS.mm.
* editing/ios/WebContentReaderIOS.mm: Added.
(WebCore::WebContentReader::addFragment):
(WebCore::WebContentReader::readWebArchive):
(WebCore::WebContentReader::readFilenames):
(WebCore::WebContentReader::readHTML):
(WebCore::WebContentReader::readRTFD):
(WebCore::WebContentReader::readRTF):
(WebCore::WebContentReader::readImage):
(WebCore::WebContentReader::readURL):
(WebCore::WebContentReader::readPlainText):
* editing/mac/EditorMac.mm:
(WebCore::Editor::WebContentReader): Moved to WebContentReaderMac.mm.
* editing/mac/WebContentReaderMac.mm: Added.
(WebCore::WebContentReader::readWebArchive):
(WebCore::WebContentReader::readFilenames):
(WebCore::WebContentReader::readHTML):
(WebCore::WebContentReader::readRTFD):
(WebCore::WebContentReader::readRTF):
(WebCore::WebContentReader::readImage):
(WebCore::WebContentReader::readURL):
(WebCore::WebContentReader::readPlainText):
* editing/markup.cpp:
(WebCore::createFragmentForImageAndURL):
(WebCore::createFragmentForImageResourceAndAddResource):
* editing/markup.h:

Source/WebKitLegacy/mac:

* WebCoreSupport/WebEditorClient.mm:

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

2 years ago[DFG] Optimize WeakMap::get by adding intrinsic and fixup
utatane.tea@gmail.com [Wed, 13 Sep 2017 07:02:13 +0000 (07:02 +0000)]
[DFG] Optimize WeakMap::get by adding intrinsic and fixup
https://bugs.webkit.org/show_bug.cgi?id=176010

Reviewed by Filip Pizlo.

JSTests:

* microbenchmarks/weak-map-key.js: Added.
(assert):
(objectKey):
(let.start.Date.now):

Source/JavaScriptCore:

It reveals that Ember.js consumes 3.8% of execution time for WeakMap#get.
It is used for meta property for objects (see peekMeta function in Ember.js).

This patch optimizes WeakMap#get.

1. We use inlineGet to inline WeakMap#get operation in the native function.
Since this native function itself is very small, we should inline HashMap#get
entirely in this function.

2. We add JSWeakMapType and JSWeakSetType. This allows us to perform `isJSWeakMap()`
very fast. And this patch wires this to DFG and FTL to add WeakMapObjectUse and WeakSetObjectUse
to drop unnecessary type checking. We add fixup rules for WeakMapGet DFG node by using WeakMapObjectUse,
ObjectUse, and Int32Use.

3. We add intrinsic for WeakMap#get, and handle it in DFG and FTL. We use MapHash to
calculate hash value for the key's Object and use this hash value to look up value from
JSWeakMap's HashMap. Currently, we just call the operationWeakMapGet function in DFG and FTL.
It is worth considering that implementing this operation entirely in JIT, like GetMapBucket.
But anyway, the current one already optimizes the performance, so we leave this for the subsequent
patches.

We currently do not implement any other intrinsics (like, WeakMap#has, WeakSet) because they are
not used in Ember.js right now.

This patch optimizes WeakMap#get by 50%.

                         baseline                  patched

weak-map-key         88.6456+-3.9564     ^     59.1502+-2.2406        ^ definitely 1.4987x faster

* bytecode/DirectEvalCodeCache.h:
(JSC::DirectEvalCodeCache::tryGet):
* bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationFromClassInfo):
(JSC::speculationFromJSType):
(JSC::speculationFromString):
* bytecode/SpeculatedType.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
* dfg/DFGHeapLocation.h:
* dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
* dfg/DFGNodeType.h:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSafeToExecute.h:
(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::speculateWeakMapObject):
(JSC::DFG::SpeculativeJIT::speculateWeakSetObject):
(JSC::DFG::SpeculativeJIT::speculate):
(JSC::DFG::SpeculativeJIT::compileWeakMapGet):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGUseKind.cpp:
(WTF::printInternal):
* dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileWeakMapGet):
(JSC::FTL::DFG::LowerDFGToB3::lowWeakMapObject):
(JSC::FTL::DFG::LowerDFGToB3::lowWeakSetObject):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateWeakMapObject):
(JSC::FTL::DFG::LowerDFGToB3::speculateWeakSetObject):
* jit/JITOperations.h:
* runtime/HashMapImpl.h:
(JSC::WeakMapHash::hash):
(JSC::WeakMapHash::equal):
* runtime/Intrinsic.cpp:
(JSC::intrinsicName):
* runtime/Intrinsic.h:
* runtime/JSType.h:
* runtime/JSWeakMap.h:
(JSC::isJSWeakMap):
* runtime/JSWeakSet.h:
(JSC::isJSWeakSet):
* runtime/WeakMapBase.cpp:
(JSC::WeakMapBase::get):
* runtime/WeakMapBase.h:
(JSC::WeakMapBase::HashTranslator::hash):
(JSC::WeakMapBase::HashTranslator::equal):
(JSC::WeakMapBase::inlineGet):
* runtime/WeakMapPrototype.cpp:
(JSC::WeakMapPrototype::finishCreation):
(JSC::getWeakMap):
(JSC::protoFuncWeakMapGet):
* runtime/WeakSetPrototype.cpp:
(JSC::getWeakSet):

Source/WebCore:

* platform/network/curl/CurlJobManager.cpp:
(WebCore::CurlJobList::finishJobs):

Source/WTF:

Add inlineGet method with HashTranslator.

* wtf/HashMap.h:
(WTF::X>::inlineGet const):
(WTF::MappedTraits>::inlineGet const):
(WTF::MappedTraits>::fastGet const): Deleted.
* wtf/LoggingHashMap.h:

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

2 years agoRename isRootLayer to isRenderViewLayer
fred.wang@free.fr [Wed, 13 Sep 2017 06:44:45 +0000 (06:44 +0000)]
Rename isRootLayer to isRenderViewLayer
https://bugs.webkit.org/show_bug.cgi?id=176684

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

This patch was generated with the help of do-webcore-rename with some coding style adjustment.

No new tests, behavior unchanged.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::enclosingTransformedAncestor const):
(WebCore::RenderLayer::enclosingFilterRepaintLayer const):
(WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
(WebCore::RenderLayer::clippingRootForPainting const):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::shouldSuppressPaintingLayer):
(WebCore::RenderLayer::paintFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
(WebCore::RenderLayer::calculateClipRects const):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateAfterDescendants):
(WebCore::RenderLayerBacking::paintsIntoWindow const):
(WebCore::RenderLayerBacking::paintIntoLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::needsCompositingUpdateForStyleChangeOnNonCompositedLayer const):
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::repaintInCompositedAncestor):
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTreeForNamedFlowFixed):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::needsToBeComposited const):
(WebCore::RenderLayerCompositor::requiresOwnBackingStore const): Also move the IOS condition
up to avoid that check-webkit-style complains.
(WebCore::RenderLayerCompositor::reasonsForCompositing const):
(WebCore::RenderLayerCompositor::useCoordinatedScrollingForLayer const):
(WebCore::RenderLayerCompositor::needsFixedRootBackgroundLayer const):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

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

2 years agoRename JavaScriptCore CMake unifiable sources list
keith_miller@apple.com [Wed, 13 Sep 2017 04:39:48 +0000 (04:39 +0000)]
Rename JavaScriptCore CMake unifiable sources list
https://bugs.webkit.org/show_bug.cgi?id=176823

Reviewed by Joseph Pecoraro.

This patch also changes the error message when the unified source
bundler fails to be more accurate.

* CMakeLists.txt:

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

2 years ago[Win] Link errors when building WebKit from .proj files.
pvollan@apple.com [Wed, 13 Sep 2017 02:30:39 +0000 (02:30 +0000)]
[Win] Link errors when building WebKit from .proj files.
https://bugs.webkit.org/show_bug.cgi?id=176813

Reviewed by Brent Fulgham.

Add missing libraries to WebKit build.

* PlatformWin.cmake:

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

2 years ago[WPE] Rebaseline tests affected by r221909 (second part)
clopez@igalia.com [Wed, 13 Sep 2017 02:26:44 +0000 (02:26 +0000)]
[WPE] Rebaseline tests affected by r221909 (second part)
https://bugs.webkit.org/show_bug.cgi?id=176819

Unreviewed WPE gardening.

* platform/wpe/TestExpectations:
* platform/wpe/animations/lineheight-animation-expected.txt: Added.
* platform/wpe/animations/simultaneous-start-transform-expected.txt: Added.
* platform/wpe/animations/width-using-ems-expected.txt: Added.
* platform/wpe/css2.1/t1508-c527-font-04-b-expected.txt: Added.
* platform/wpe/css2.1/t1508-c527-font-05-b-expected.txt: Added.
* platform/wpe/css2.1/t1508-c527-font-07-b-expected.txt: Added.
* platform/wpe/css2.1/t1508-c527-font-10-c-expected.txt: Added.
* platform/wpe/fast/events/mouseover-mouseout-expected.txt: Added.
* platform/wpe/fast/events/nested-window-event-expected.txt: Added.
* platform/wpe/fast/events/window-events-bubble-expected.txt: Added.
* platform/wpe/fast/events/window-events-bubble2-expected.txt: Added.
* platform/wpe/fast/tokenizer/script_extra_close-expected.txt: Added.
* platform/wpe/tables/mozilla/bugs/bug149275-2-expected.txt: Added.
* platform/wpe/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:

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

2 years agoDo unified source builds for JSC
keith_miller@apple.com [Wed, 13 Sep 2017 01:31:07 +0000 (01:31 +0000)]
Do unified source builds for JSC
https://bugs.webkit.org/show_bug.cgi?id=176076

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patch switches the CMake JavaScriptCore build to use unified sources.
The Xcode build will be upgraded in a follow up patch.

Most of the source changes in this patch are fixing static
variable/functions name collisions. The most common collisions
were from our use of "static const bool verbose" and "using
namespace ...". I fixed all the verbose cases and fixed the "using
namespace" issues that occurred under the current bundling
strategy. It's likely that more of the "using namespace" issues
will need to be resolved in the future, particularly in the FTL.

I don't expect either of these problems will apply to other parts
of the project nearly as much as in JSC. Using a verbose variable
is a JSC idiom and JSC tends use the same, canonical, class name
in multiple parts of the engine.

* CMakeLists.txt:
* b3/B3CheckSpecial.cpp:
(JSC::B3::CheckSpecial::forEachArg):
(JSC::B3::CheckSpecial::generate):
(JSC::B3::Air::numB3Args): Deleted.
* b3/B3DuplicateTails.cpp:
* b3/B3EliminateCommonSubexpressions.cpp:
* b3/B3FixSSA.cpp:
(JSC::B3::demoteValues):
* b3/B3FoldPathConstants.cpp:
* b3/B3InferSwitches.cpp:
* b3/B3LowerMacrosAfterOptimizations.cpp:
(): Deleted.
* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::LowerToAir): Deleted.
(JSC::B3::Air::LowerToAir::run): Deleted.
(JSC::B3::Air::LowerToAir::shouldCopyPropagate): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::ArgPromise): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::swap): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::operator=): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::~ArgPromise): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::setTraps): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::tmp): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::operator bool const): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::kind const): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::peek const): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::consume): Deleted.
(JSC::B3::Air::LowerToAir::ArgPromise::inst): Deleted.
(JSC::B3::Air::LowerToAir::tmp): Deleted.
(JSC::B3::Air::LowerToAir::tmpPromise): Deleted.
(JSC::B3::Air::LowerToAir::canBeInternal): Deleted.
(JSC::B3::Air::LowerToAir::commitInternal): Deleted.
(JSC::B3::Air::LowerToAir::crossesInterference): Deleted.
(JSC::B3::Air::LowerToAir::scaleForShl): Deleted.
(JSC::B3::Air::LowerToAir::effectiveAddr): Deleted.
(JSC::B3::Air::LowerToAir::addr): Deleted.
(JSC::B3::Air::LowerToAir::trappingInst): Deleted.
(JSC::B3::Air::LowerToAir::loadPromiseAnyOpcode): Deleted.
(JSC::B3::Air::LowerToAir::loadPromise): Deleted.
(JSC::B3::Air::LowerToAir::imm): Deleted.
(JSC::B3::Air::LowerToAir::bitImm): Deleted.
(JSC::B3::Air::LowerToAir::bitImm64): Deleted.
(JSC::B3::Air::LowerToAir::immOrTmp): Deleted.
(JSC::B3::Air::LowerToAir::tryOpcodeForType): Deleted.
(JSC::B3::Air::LowerToAir::opcodeForType): Deleted.
(JSC::B3::Air::LowerToAir::appendUnOp): Deleted.
(JSC::B3::Air::LowerToAir::preferRightForResult): Deleted.
(JSC::B3::Air::LowerToAir::appendBinOp): Deleted.
(JSC::B3::Air::LowerToAir::appendShift): Deleted.
(JSC::B3::Air::LowerToAir::tryAppendStoreUnOp): Deleted.
(JSC::B3::Air::LowerToAir::tryAppendStoreBinOp): Deleted.
(JSC::B3::Air::LowerToAir::createStore): Deleted.
(JSC::B3::Air::LowerToAir::storeOpcode): Deleted.
(JSC::B3::Air::LowerToAir::appendStore): Deleted.
(JSC::B3::Air::LowerToAir::moveForType): Deleted.
(JSC::B3::Air::LowerToAir::relaxedMoveForType): Deleted.
(JSC::B3::Air::LowerToAir::print): Deleted.
(JSC::B3::Air::LowerToAir::append): Deleted.
(JSC::B3::Air::LowerToAir::appendTrapping): Deleted.
(JSC::B3::Air::LowerToAir::finishAppendingInstructions): Deleted.
(JSC::B3::Air::LowerToAir::newBlock): Deleted.
(JSC::B3::Air::LowerToAir::splitBlock): Deleted.
(JSC::B3::Air::LowerToAir::ensureSpecial): Deleted.
(JSC::B3::Air::LowerToAir::ensureCheckSpecial): Deleted.
(JSC::B3::Air::LowerToAir::fillStackmap): Deleted.
(JSC::B3::Air::LowerToAir::createGenericCompare): Deleted.
(JSC::B3::Air::LowerToAir::createBranch): Deleted.
(JSC::B3::Air::LowerToAir::createCompare): Deleted.
(JSC::B3::Air::LowerToAir::createSelect): Deleted.
(JSC::B3::Air::LowerToAir::tryAppendLea): Deleted.
(JSC::B3::Air::LowerToAir::appendX86Div): Deleted.
(JSC::B3::Air::LowerToAir::appendX86UDiv): Deleted.
(JSC::B3::Air::LowerToAir::loadLinkOpcode): Deleted.
(JSC::B3::Air::LowerToAir::storeCondOpcode): Deleted.
(JSC::B3::Air::LowerToAir::appendCAS): Deleted.
(JSC::B3::Air::LowerToAir::appendVoidAtomic): Deleted.
(JSC::B3::Air::LowerToAir::appendGeneralAtomic): Deleted.
(JSC::B3::Air::LowerToAir::lower): Deleted.
* b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::generate):
* b3/B3ReduceDoubleToFloat.cpp:
(JSC::B3::reduceDoubleToFloat):
* b3/B3ReduceStrength.cpp:
* b3/B3StackmapGenerationParams.cpp:
* b3/B3StackmapSpecial.cpp:
(JSC::B3::StackmapSpecial::repsImpl):
(JSC::B3::StackmapSpecial::repForArg):
* b3/air/AirAllocateStackByGraphColoring.cpp:
(JSC::B3::Air::allocateStackByGraphColoring):
* b3/air/AirEmitShuffle.cpp:
(JSC::B3::Air::emitShuffle):
* b3/air/AirFixObviousSpills.cpp:
* b3/air/AirLowerAfterRegAlloc.cpp:
(JSC::B3::Air::lowerAfterRegAlloc):
* b3/air/AirStackAllocation.cpp:
(JSC::B3::Air::attemptAssignment):
(JSC::B3::Air::assign):
* bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl):
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeDFGStatuses):
* bytecode/GetterSetterAccessCase.cpp:
(JSC::GetterSetterAccessCase::emitDOMJITGetter):
* bytecode/ObjectPropertyConditionSet.cpp:
* bytecode/PolymorphicAccess.cpp:
(JSC::PolymorphicAccess::addCases):
(JSC::PolymorphicAccess::regenerate):
* bytecode/PropertyCondition.cpp:
(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::addAccessCase):
* dfg/DFGArgumentsEliminationPhase.cpp:
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::DelayedSetLocal::DelayedSetLocal):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::planLoad):
(JSC::DFG::ByteCodeParser::store):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::linkBlocks):
* dfg/DFGCSEPhase.cpp:
* dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::merge):
* dfg/DFGIntegerCheckCombiningPhase.cpp:
(JSC::DFG::IntegerCheckCombiningPhase::handleBlock):
* dfg/DFGIntegerRangeOptimizationPhase.cpp:
* dfg/DFGMovHintRemovalPhase.cpp:
* dfg/DFGObjectAllocationSinkingPhase.cpp:
* dfg/DFGPhantomInsertionPhase.cpp:
* dfg/DFGPutStackSinkingPhase.cpp:
* dfg/DFGStoreBarrierInsertionPhase.cpp:
* dfg/DFGVarargsForwardingPhase.cpp:
* ftl/FTLAbstractHeap.cpp:
(JSC::FTL::AbstractHeap::compute):
* ftl/FTLAbstractHeapRepository.cpp:
(JSC::FTL::AbstractHeapRepository::decorateMemory):
(JSC::FTL::AbstractHeapRepository::decorateCCallRead):
(JSC::FTL::AbstractHeapRepository::decorateCCallWrite):
(JSC::FTL::AbstractHeapRepository::decoratePatchpointRead):
(JSC::FTL::AbstractHeapRepository::decoratePatchpointWrite):
(JSC::FTL::AbstractHeapRepository::decorateFenceRead):
(JSC::FTL::AbstractHeapRepository::decorateFenceWrite):
(JSC::FTL::AbstractHeapRepository::decorateFencedAccess):
(JSC::FTL::AbstractHeapRepository::computeRangesAndDecorateInstructions):
* ftl/FTLLink.cpp:
(JSC::FTL::link):
* heap/MarkingConstraintSet.cpp:
(JSC::MarkingConstraintSet::add):
* interpreter/ShadowChicken.cpp:
(JSC::ShadowChicken::update):
* jit/BinarySwitch.cpp:
(JSC::BinarySwitch::BinarySwitch):
(JSC::BinarySwitch::build):
* llint/LLIntData.cpp:
(JSC::LLInt::Data::loadStats):
(JSC::LLInt::Data::saveStats):
* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::tryInitializeSpeciesWatchpoint):
(JSC::ArrayPrototypeAdaptiveInferredPropertyWatchpoint::handleFire):
* runtime/ErrorInstance.cpp:
(JSC::FindFirstCallerFrameWithCodeblockFunctor::FindFirstCallerFrameWithCodeblockFunctor): Deleted.
(JSC::FindFirstCallerFrameWithCodeblockFunctor::operator()): Deleted.
(JSC::FindFirstCallerFrameWithCodeblockFunctor::foundCallFrame const): Deleted.
(JSC::FindFirstCallerFrameWithCodeblockFunctor::index const): Deleted.
* runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
* runtime/PromiseDeferredTimer.cpp:
(JSC::PromiseDeferredTimer::doWork):
(JSC::PromiseDeferredTimer::addPendingPromise):
(JSC::PromiseDeferredTimer::cancelPendingPromise):
* runtime/TypeProfiler.cpp:
(JSC::TypeProfiler::insertNewLocation):
* runtime/TypeProfilerLog.cpp:
(JSC::TypeProfilerLog::processLogEntries):
* runtime/WeakMapPrototype.cpp:
(JSC::protoFuncWeakMapDelete):
(JSC::protoFuncWeakMapGet):
(JSC::protoFuncWeakMapHas):
(JSC::protoFuncWeakMapSet):
(JSC::getWeakMapData): Deleted.
* runtime/WeakSetPrototype.cpp:
(JSC::protoFuncWeakSetDelete):
(JSC::protoFuncWeakSetHas):
(JSC::protoFuncWeakSetAdd):
(JSC::getWeakMapData): Deleted.
* testRegExp.cpp:
(testOneRegExp):
(runFromFiles):
* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::parseAndCompile):
* wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::moveToState):
(JSC::Wasm::BBQPlan::parseAndValidateModule):
(JSC::Wasm::BBQPlan::prepare):
(JSC::Wasm::BBQPlan::compileFunctions):
(JSC::Wasm::BBQPlan::complete):
* wasm/WasmFaultSignalHandler.cpp:
(JSC::Wasm::trapHandler):
* wasm/WasmOMGPlan.cpp:
(JSC::Wasm::OMGPlan::OMGPlan):
(JSC::Wasm::OMGPlan::work):
* wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::fail):
* wasm/WasmSignature.cpp:
(JSC::Wasm::SignatureInformation::adopt):
* wasm/WasmWorklist.cpp:
(JSC::Wasm::Worklist::enqueue):

Source/WTF:

This patch adds a script that will automatically bundle source
files, which is currently only used by the CMake build. It's
important that we use the same script to generate the bundles
for the CMake build as the Xcode build. If we didn't do this then
it's likely that there would be build errors that occur in only
one build system. On the same note, we also need to be careful to
not bundle platform specific source files with platform
independent ones. There are a couple of things the script does not
currently handle but are not essential for the CMake build. First,
it does not handle the max bundle size restrictions that the Xcode
build will require. It also does not handle C files.

The unified source generator script works by collecting groups of
up to 8 files from the same directory. We don't bundle files from
across directories since I didn't see a speedup from doing
so. Additionally, splitting at the directory boundary means that
it is less likely that adding a new file will force a "clean"
build. This would happen because the new file will shift every
subsequent file into the next unified source bundle.

Using unified sources appears to be a roughly 3.5x build time
speed up for clean builds on my MBP and appears to have a
negligible effect in incremental builds.

* generate-unified-source-bundles.rb: Added.
* wtf/Assertions.h:

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

2 years ago[WPE] Rebaseline tests affected by r221909
clopez@igalia.com [Wed, 13 Sep 2017 01:23:57 +0000 (01:23 +0000)]
[WPE] Rebaseline tests affected by r221909
https://bugs.webkit.org/show_bug.cgi?id=176819

Unreviewed WPE gardening.

* platform/wpe/animations/3d/matrix-transform-type-animation-expected.txt:
* platform/wpe/animations/cross-fade-border-image-source-expected.txt:
* platform/wpe/animations/cross-fade-list-style-image-expected.txt:
* platform/wpe/animations/cross-fade-webkit-mask-box-image-expected.txt:
* platform/wpe/animations/missing-values-first-keyframe-expected.txt:
* platform/wpe/animations/missing-values-last-keyframe-expected.txt:
* platform/wpe/css1/basic/containment-expected.txt:
* platform/wpe/css1/basic/contextual_selectors-expected.txt:
* platform/wpe/css1/basic/grouping-expected.txt:
* platform/wpe/css1/basic/id_as_selector-expected.txt:
* platform/wpe/css1/basic/inheritance-expected.txt:
* platform/wpe/css1/box_properties/border-expected.txt:
* platform/wpe/css1/box_properties/border_bottom-expected.txt:
* platform/wpe/css1/box_properties/border_bottom_inline-expected.txt:
* platform/wpe/css1/box_properties/border_bottom_width-expected.txt:
* platform/wpe/css1/box_properties/border_bottom_width_inline-expected.txt:
* platform/wpe/css1/box_properties/border_color-expected.txt:
* platform/wpe/css1/box_properties/border_color_inline-expected.txt:
* platform/wpe/css1/box_properties/border_inline-expected.txt:
* platform/wpe/css1/box_properties/border_left-expected.txt:
* platform/wpe/css1/box_properties/border_left_inline-expected.txt:
* platform/wpe/css1/box_properties/border_left_width-expected.txt:
* platform/wpe/css1/box_properties/border_left_width_inline-expected.txt:
* platform/wpe/css1/box_properties/border_right-expected.txt:
* platform/wpe/css1/box_properties/border_right_inline-expected.txt:
* platform/wpe/css1/box_properties/border_right_width-expected.txt:
* platform/wpe/css1/box_properties/border_right_width_inline-expected.txt:
* platform/wpe/css1/box_properties/border_style-expected.txt:
* platform/wpe/css1/box_properties/border_style_inline-expected.txt:
* platform/wpe/css1/box_properties/border_top-expected.txt:
* platform/wpe/css1/box_properties/border_top_inline-expected.txt:
* platform/wpe/css1/box_properties/border_top_width-expected.txt:
* platform/wpe/css1/box_properties/border_top_width_inline-expected.txt:
* platform/wpe/css1/box_properties/border_width-expected.txt:
* platform/wpe/css1/box_properties/border_width_inline-expected.txt:
* platform/wpe/css1/box_properties/clear-expected.txt:
* platform/wpe/css1/box_properties/clear_float-expected.txt:
* platform/wpe/css1/box_properties/float-expected.txt:
* platform/wpe/css1/box_properties/float_elements_in_series-expected.txt:
* platform/wpe/css1/box_properties/float_margin-expected.txt:
* platform/wpe/css1/box_properties/float_on_text_elements-expected.txt:
* platform/wpe/css1/box_properties/height-expected.txt:
* platform/wpe/css1/box_properties/margin-expected.txt:
* platform/wpe/css1/box_properties/margin_bottom-expected.txt:
* platform/wpe/css1/box_properties/margin_bottom_inline-expected.txt:
* platform/wpe/css1/box_properties/margin_inline-expected.txt:
* platform/wpe/css1/box_properties/margin_left-expected.txt:
* platform/wpe/css1/box_properties/margin_left_inline-expected.txt:
* platform/wpe/css1/box_properties/margin_right-expected.txt:
* platform/wpe/css1/box_properties/margin_right_inline-expected.txt:
* platform/wpe/css1/box_properties/margin_top-expected.txt:
* platform/wpe/css1/box_properties/margin_top_inline-expected.txt:
* platform/wpe/css1/box_properties/padding-expected.txt:
* platform/wpe/css1/box_properties/padding_bottom-expected.txt:
* platform/wpe/css1/box_properties/padding_bottom_inline-expected.txt:
* platform/wpe/css1/box_properties/padding_inline-expected.txt:
* platform/wpe/css1/box_properties/padding_left-expected.txt:
* platform/wpe/css1/box_properties/padding_left_inline-expected.txt:
* platform/wpe/css1/box_properties/padding_right-expected.txt:
* platform/wpe/css1/box_properties/padding_right_inline-expected.txt:
* platform/wpe/css1/box_properties/padding_top-expected.txt:
* platform/wpe/css1/box_properties/padding_top_inline-expected.txt:
* platform/wpe/css1/box_properties/width-expected.txt:
* platform/wpe/css1/cascade/cascade_order-expected.txt:
* platform/wpe/css1/cascade/important-expected.txt:
* platform/wpe/css1/classification/display-expected.txt:
* platform/wpe/css1/classification/list_style-expected.txt:
* platform/wpe/css1/classification/list_style_image-expected.txt:
* platform/wpe/css1/classification/list_style_position-expected.txt:
* platform/wpe/css1/classification/list_style_type-expected.txt:
* platform/wpe/css1/classification/white_space-expected.txt:
* platform/wpe/css1/color_and_background/background-expected.txt:
* platform/wpe/css1/color_and_background/background_attachment-expected.txt:
* platform/wpe/css1/color_and_background/background_color-expected.txt:
* platform/wpe/css1/color_and_background/background_image-expected.txt:
* platform/wpe/css1/color_and_background/background_position-expected.txt:
* platform/wpe/css1/color_and_background/background_repeat-expected.txt:
* platform/wpe/css1/color_and_background/color-expected.txt:
* platform/wpe/css1/conformance/forward_compatible_parsing-expected.txt:
* platform/wpe/css1/font_properties/font-expected.txt:
* platform/wpe/css1/font_properties/font_family-expected.txt:
* platform/wpe/css1/font_properties/font_size-expected.txt:
* platform/wpe/css1/font_properties/font_style-expected.txt:
* platform/wpe/css1/font_properties/font_variant-expected.txt:
* platform/wpe/css1/font_properties/font_weight-expected.txt:
* platform/wpe/css1/formatting_model/canvas-expected.txt:
* platform/wpe/css1/formatting_model/floating_elements-expected.txt:
* platform/wpe/css1/formatting_model/height_of_lines-expected.txt:
* platform/wpe/css1/formatting_model/inline_elements-expected.txt:
* platform/wpe/css1/formatting_model/replaced_elements-expected.txt:
* platform/wpe/css1/formatting_model/vertical_formatting-expected.txt:
* platform/wpe/css1/pseudo/anchor-expected.txt:
* platform/wpe/css1/pseudo/firstletter-expected.txt:
* platform/wpe/css1/pseudo/firstline-expected.txt:
* platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
* platform/wpe/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
* platform/wpe/css1/text_properties/letter_spacing-expected.txt:
* platform/wpe/css1/text_properties/line_height-expected.txt:
* platform/wpe/css1/text_properties/text_align-expected.txt:
* platform/wpe/css1/text_properties/text_decoration-expected.txt:
* platform/wpe/css1/text_properties/text_indent-expected.txt:
* platform/wpe/css1/text_properties/text_transform-expected.txt:
* platform/wpe/css1/text_properties/vertical_align-expected.txt:
* platform/wpe/css1/text_properties/word_spacing-expected.txt:
* platform/wpe/css1/units/color_units-expected.txt:
* platform/wpe/css1/units/length_units-expected.txt:
* platform/wpe/css1/units/percentage_units-expected.txt:
* platform/wpe/css1/units/urls-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-001-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-002-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-003-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-004-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-005-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-006-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-007-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-008-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-009-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-010-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-011-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-height-012-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-001-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-002-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-003-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-004-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-005-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-006-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-007-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-008-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-009-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-010-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-011-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-012-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-001-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-002-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-003-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-004-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-005-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-006-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-007-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-008-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-009-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-010-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-011-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-012-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-013-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-014-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-015-expected.txt:
* platform/wpe/css2.1/20110323/absolute-non-replaced-width-016-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-001-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-002-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-003-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-004-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-005-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-007-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-008-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-009-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-010-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-011-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-012-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-014-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-016-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-017-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-018-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-019-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-021-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-022-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-023-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-024-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-025-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-026-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-028-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-029-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-030-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-031-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-032-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-033-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-height-035-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-001-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-006-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-008-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-013-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-015-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-020-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-022-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-027-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-029-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-034-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-036-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-041-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-043-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-048-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-050-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-055-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-057-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-062-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-064-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-069-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-071-expected.txt:
* platform/wpe/css2.1/20110323/absolute-replaced-width-076-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-001-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-002-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-003-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-004-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-005-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-006-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-007-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-008-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-009-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-010-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-011-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-012-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-013-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-014-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-015-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-height-016-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-width-001-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-width-002-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-width-003-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-width-004-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-width-005-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-width-006-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-width-007-expected.txt:
* platform/wpe/css2.1/20110323/block-non-replaced-width-008-expected.txt:
* platform/wpe/css2.1/20110323/block-replaced-height-001-expected.txt:
* platform/wpe/css2.1/20110323/block-replaced-height-002-expected.txt:
* platform/wpe/css2.1/20110323/block-replaced-height-003-expected.txt:
* platform/wpe/css2.1/20110323/block-replaced-height-004-expected.txt:
* platform/wpe/css2.1/20110323/block-replaced-height-005-expected.txt:
* platform/wpe/css2.1/20110323/block-replaced-height-007-expected.txt:
* platform/wpe/css2.1/20110323/block-replaced-width-001-expected.txt:
* platform/wpe/css2.1/20110323/block-replaced-width-006-expected.txt:
* platform/wpe/css2.1/20110323/border-conflict-style-079-expected.txt:
* platform/wpe/css2.1/20110323/border-conflict-style-088-expected.txt:
* platform/wpe/css2.1/20110323/border-spacing-applies-to-015-expected.txt:
* platform/wpe/css2.1/20110323/c543-txt-decor-000-expected.txt:
* platform/wpe/css2.1/20110323/empty-inline-001-expected.txt:
* platform/wpe/css2.1/20110323/empty-inline-002-expected.txt:
* platform/wpe/css2.1/20110323/empty-inline-003-expected.txt:
* platform/wpe/css2.1/20110323/float-non-replaced-height-001-expected.txt:
* platform/wpe/css2.1/20110323/float-non-replaced-width-001-expected.txt:
* platform/wpe/css2.1/20110323/float-non-replaced-width-002-expected.txt:
* platform/wpe/css2.1/20110323/float-non-replaced-width-003-expected.txt:
* platform/wpe/css2.1/20110323/float-non-replaced-width-004-expected.txt:
* platform/wpe/css2.1/20110323/float-non-replaced-width-005-expected.txt:
* platform/wpe/css2.1/20110323/float-non-replaced-width-006-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-height-001-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-height-002-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-height-003-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-height-004-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-height-005-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-height-007-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-width-001-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-width-002-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-width-003-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-width-004-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-width-005-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-width-006-expected.txt:
* platform/wpe/css2.1/20110323/float-replaced-width-011-expected.txt:
* platform/wpe/css2.1/20110323/height-width-inline-table-001-expected.txt:
* platform/wpe/css2.1/20110323/height-width-table-001-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-non-replaced-height-001-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-non-replaced-height-002-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-non-replaced-width-001-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-non-replaced-width-002-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-replaced-height-001-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-replaced-height-002-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-replaced-height-003-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-replaced-height-004-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-replaced-height-005-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-replaced-height-007-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-replaced-width-001-expected.txt:
* platform/wpe/css2.1/20110323/inline-block-replaced-width-006-expected.txt:
* platform/wpe/css2.1/20110323/inline-non-replaced-height-002-expected.txt:
* platform/wpe/css2.1/20110323/inline-non-replaced-height-003-expected.txt:
* platform/wpe/css2.1/20110323/inline-non-replaced-width-001-expected.txt:
* platform/wpe/css2.1/20110323/inline-non-replaced-width-002-expected.txt:
* platform/wpe/css2.1/20110323/inline-replaced-height-001-expected.txt:
* platform/wpe/css2.1/20110323/inline-replaced-height-002-expected.txt:
* platform/wpe/css2.1/20110323/inline-replaced-height-003-expected.txt:
* platform/wpe/css2.1/20110323/inline-replaced-height-004-expected.txt:
* platform/wpe/css2.1/20110323/inline-replaced-height-005-expected.txt:
* platform/wpe/css2.1/20110323/inline-replaced-height-007-expected.txt:
* platform/wpe/css2.1/20110323/inline-replaced-width-001-expected.txt:
* platform/wpe/css2.1/20110323/inline-replaced-width-006-expected.txt:
* platform/wpe/css2.1/20110323/inline-table-001-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-001-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-002-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-003-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-004-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-005-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-006-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-007-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-008-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-009-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-010-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-012-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-013-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-014-expected.txt:
* platform/wpe/css2.1/20110323/margin-applies-to-015-expected.txt:
* platform/wpe/css2.1/20110323/outline-color-applies-to-008-expected.txt:
* platform/wpe/css2.1/20110323/table-caption-001-expected.txt:
* platform/wpe/css2.1/20110323/table-caption-002-expected.txt:
* platform/wpe/css2.1/20110323/table-caption-horizontal-alignment-001-expected.txt:
* platform/wpe/css2.1/20110323/table-caption-optional-001-expected.txt:
* platform/wpe/css2.1/20110323/table-caption-optional-002-expected.txt:
* platform/wpe/css2.1/20110323/table-height-algorithm-023-expected.txt:
* platform/wpe/css2.1/20110323/table-height-algorithm-024-expected.txt:
* platform/wpe/css2.1/20110323/width-non-replaced-inline-001-expected.txt:
* platform/wpe/css2.1/20110323/width-replaced-element-001-expected.txt:
* platform/wpe/css2.1/t040102-keywords-01-b-expected.txt:
* platform/wpe/css2.1/t0402-c71-fwd-parsing-01-f-expected.txt:
* platform/wpe/css2.1/t0402-c71-fwd-parsing-02-f-expected.txt:
* platform/wpe/css2.1/t051201-c23-first-line-00-b-expected.txt:
* platform/wpe/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
* platform/wpe/css2.1/t0602-c13-inheritance-00-e-expected.txt:
* platform/wpe/css2.1/t0805-c5519-brdr-r-02-e-expected.txt:
* platform/wpe/css2.1/t0805-c5521-brdr-l-02-e-expected.txt:
* platform/wpe/css2.1/t0905-c414-flt-04-c-expected.txt:
* platform/wpe/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
* platform/wpe/css2.1/t0905-c5525-fltblck-01-d-expected.txt:
* platform/wpe/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
* platform/wpe/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
* platform/wpe/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt:
* platform/wpe/css2.1/t090501-c414-flt-00-d-expected.txt:
* platform/wpe/css2.1/t090501-c414-flt-01-b-expected.txt:
* platform/wpe/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
* platform/wpe/css2.1/t1202-counter-00-b-expected.txt:
* platform/wpe/css2.1/t1202-counter-01-b-expected.txt:
* platform/wpe/css2.1/t1202-counter-02-b-expected.txt:
* platform/wpe/css2.1/t1202-counter-03-b-expected.txt:
* platform/wpe/css2.1/t1202-counter-04-b-expected.txt:
* platform/wpe/css2.1/t1202-counter-05-b-expected.txt:
* platform/wpe/css2.1/t1202-counter-06-b-expected.txt:
* platform/wpe/css2.1/t1202-counter-16-f-expected.txt:
* platform/wpe/css2.1/t1202-counters-00-b-expected.txt:
* platform/wpe/css2.1/t1202-counters-01-b-expected.txt:
* platform/wpe/css2.1/t1202-counters-02-b-expected.txt:
* platform/wpe/css2.1/t1202-counters-03-b-expected.txt:
* platform/wpe/css2.1/t1202-counters-04-b-expected.txt:
* platform/wpe/css2.1/t1202-counters-05-b-expected.txt:
* platform/wpe/css2.1/t1202-counters-06-b-expected.txt:
* platform/wpe/css2.1/t1202-counters-18-f-expected.txt:
* platform/wpe/css2.1/t1204-order-00-c-expected.txt:
* platform/wpe/css2.1/t1204-order-01-d-expected.txt:
* platform/wpe/css2.1/t120401-scope-00-b-expected.txt:
* platform/wpe/css2.1/t120401-scope-01-c-expected.txt:
* platform/wpe/css2.1/t1205-c565-list-pos-00-b-expected.txt:
* platform/wpe/css2.1/t1507-c526-font-sz-00-b-expected.txt:
* platform/wpe/css2.1/t1508-c527-font-00-b-expected.txt:
* platform/wpe/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
* platform/wpe/css3/css3-modsel-35-expected.txt:
* platform/wpe/css3/css3-modsel-37-expected.txt:
* platform/wpe/css3/flexbox/button-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-13-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-14c-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-14e-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-15-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-159-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-168-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-168a-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-169-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-169a-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-17-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-18-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-2-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-22-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-30-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-31-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-34-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-35-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-37-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-41-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-41a-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-42-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-42a-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-45-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-45b-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-46-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-46b-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-6-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-7-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-75-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-75b-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-76-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-76b-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-79-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-8-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-80-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-82-expected.txt:
* platform/wpe/css3/selectors3/html/css3-modsel-82b-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-113-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-113b-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-114-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-114b-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-119-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-121-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-122-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-123-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-13-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-139-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-139b-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-140-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-140b-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-14c-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-14e-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-15-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-159-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-168-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-168a-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-169-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-169a-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-17-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-2-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-22-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-30-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-31-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-34-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-35-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-37-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-41-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-41a-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-42-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-42a-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-45-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-45b-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-46-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-46b-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-47-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-48-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-49-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-6-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-7-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-75-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-75b-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-76-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-76b-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-79-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-8-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-80-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-82-expected.txt:
* platform/wpe/css3/selectors3/xhtml/css3-modsel-82b-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-113-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-113b-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-114-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-114b-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-119-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-121-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-122-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-123-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-13-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-139-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-139b-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-140-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-140b-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-14c-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-14e-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-15-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-159-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-168-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-168a-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-169-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-169a-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-17-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-18-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-2-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-22-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-30-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-31-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-34-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-35-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-37-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-41-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-41a-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-42-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-42a-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-45-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-45b-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-46-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-46b-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-47-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-48-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-49-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-6-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-7-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-75-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-75b-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-76-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-76b-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-79-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-8-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-80-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-82-expected.txt:
* platform/wpe/css3/selectors3/xml/css3-modsel-82b-expected.txt:
* platform/wpe/css3/unicode-bidi-isolate-basic-expected.txt:
* platform/wpe/fast/dom/Element/class-attribute-whitespace-expected.txt:
* platform/wpe/fast/dom/HTMLDocument/frameless-location-bugzilla10837-expected.txt:
* platform/wpe/fast/dom/HTMLElement/bdo-expected.txt:
* platform/wpe/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
* platform/wpe/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
* platform/wpe/fast/dom/HTMLTableElement/colSpan-expected.txt:
* platform/wpe/fast/dom/HTMLTableElement/createCaption-expected.txt:
* platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
* platform/wpe/fast/dom/Range/create-contextual-fragment-expected.txt:
* platform/wpe/fast/dynamic/007-expected.txt:
* platform/wpe/fast/dynamic/011-expected.txt:
* platform/wpe/fast/dynamic/012-expected.txt:
* platform/wpe/fast/dynamic/014-expected.txt:
* platform/wpe/fast/dynamic/015-expected.txt:
* platform/wpe/fast/dynamic/anchor-lock-expected.txt:
* platform/wpe/fast/dynamic/anonymous-block-orphaned-lines-expected.txt:
* platform/wpe/fast/dynamic/containing-block-change-expected.txt:
* platform/wpe/fast/dynamic/create-renderer-for-whitespace-only-text-expected.txt:
* platform/wpe/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-expected.txt:
* platform/wpe/fast/dynamic/float-withdrawal-expected.txt:
* platform/wpe/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
* platform/wpe/fast/dynamic/noninlinebadness-expected.txt:
* platform/wpe/fast/dynamic/outerHTML-doc-expected.txt:
* platform/wpe/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
* platform/wpe/fast/dynamic/selection-highlight-adjust-expected.txt:
* platform/wpe/fast/dynamic/staticY-marking-parents-regression-expected.txt:
* platform/wpe/fast/dynamic/view-overflow-expected.txt:
* platform/wpe/fast/encoding/utf-16-big-endian-expected.txt:
* platform/wpe/fast/encoding/utf-16-little-endian-expected.txt:
* platform/wpe/fast/encoding/xmacroman-encoding-test-expected.txt:
* platform/wpe/fast/events/pointer-events-2-expected.txt:
* platform/wpe/fast/events/resize-events-expected.txt:
* platform/wpe/fast/events/updateLayoutForHitTest-expected.txt:
* platform/wpe/fast/gradients/crash-on-zero-radius-expected.txt:
* platform/wpe/fast/gradients/list-item-gradient-expected.txt:
* platform/wpe/fast/gradients/radial-centered-expected.txt:
* platform/wpe/fast/parser/001-expected.txt:
* platform/wpe/fast/parser/entity-comment-in-style-expected.txt:
* platform/wpe/fast/parser/nofoo-tags-inside-paragraph-expected.txt:
* platform/wpe/fast/parser/open-comment-in-style-expected.txt:
* platform/wpe/fast/parser/open-comment-in-textarea-expected.txt:
* platform/wpe/fast/parser/xhtml-alternate-entities-expected.txt:
* platform/wpe/fast/transforms/bounding-rect-zoom-expected.txt:
* platform/wpe/fast/transforms/diamond-expected.txt:
* platform/wpe/fast/transforms/transform-overflow-expected.txt:
* platform/wpe/fast/transforms/transform-positioned-ancestor-expected.txt:
* platform/wpe/fast/transforms/transform-table-row-expected.txt:
* platform/wpe/fast/transforms/transforms-with-zoom-expected.txt:
* platform/wpe/fast/xsl/xslt-enc-cyr-expected.txt:
* platform/wpe/fast/xsl/xslt-enc-expected.txt:
* platform/wpe/fast/xsl/xslt-enc16-expected.txt:
* platform/wpe/fast/xsl/xslt-enc16to16-expected.txt:
* platform/wpe/fast/xsl/xslt-entity-expected.txt:
* platform/wpe/fast/xsl/xslt-extra-content-at-end-expected.txt:
* platform/wpe/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
* platform/wpe/fast/xsl/xslt-relative-path-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-applied-to-rounded-inline-element-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-border-box-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-002-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-applies-to-block-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background_color_padding_box-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_border_box-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_content_box-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-002-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-003-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-005-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-010-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-017-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-not-inherited-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-002-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-003-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-004-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-005-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-002-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-001-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-002-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-003-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-004-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/color-behind-images-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.txt:
* platform/wpe/ietestcenter/css3/bordersbackgrounds/order-of-images-expected.txt:
* platform/wpe/ietestcenter/css3/text/textshadow-001-expected.txt:
* platform/wpe/ietestcenter/css3/text/textshadow-002-expected.txt:
* platform/wpe/ietestcenter/css3/text/textshadow-003-expected.txt:
* platform/wpe/ietestcenter/css3/text/textshadow-004-expected.txt:
* platform/wpe/ietestcenter/css3/text/textshadow-005-expected.txt:
* platform/wpe/ietestcenter/css3/text/textshadow-006-expected.txt:
* platform/wpe/ietestcenter/css3/text/textshadow-007-expected.txt:
* platform/wpe/ietestcenter/css3/text/textshadow-008-expected.txt:
* platform/wpe/ietestcenter/css3/text/textshadow-009-expected.txt:
* platform/wpe/ietestcenter/css3/text/textshadow-010-expected.txt:
* platform/wpe/tables/layering/paint-test-layering-1-expected.txt:
* platform/wpe/tables/layering/paint-test-layering-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/45621-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug101674-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug10269-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug10269-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug10296-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug106158-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug106158-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug109043-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug113235-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug113235-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug113235-3-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug1163-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug11944-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug1224-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug1302-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug131020-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug131020_iframe-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug133756-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug139524-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug1430-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug14929-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug157890-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug16012-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug16252-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug17130-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug17130-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug17138-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug17587-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug18359-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug18664-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug18955-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug19356-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug19599-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug20579-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2065-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug20804-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2123-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug220536-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug22246-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug22246-2a-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug22246-3-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug22246-3a-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug23235-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug23299-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug24627-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2469-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2479-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2479-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2479-3-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2479-4-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2509-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug25663-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2585-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug27038-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug27038-3-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2886-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2886-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug29058-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug29157-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug29326-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2981-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug2997-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug30273-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug30332-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug30332-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug32205-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug32205-3-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug32447-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug3260-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug34538-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug3454-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug3977-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug42187-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug43039-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug43854-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug4427-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug44523-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug4501-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug45055-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug45055-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug4576-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug46368-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug46480-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug46480-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug46623-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug46623-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug48028-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug4803-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug51037-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug5188-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug5538-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug55694-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug57828-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug5835-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug58402-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug59354-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug60749-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug6184-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug6304-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug6404-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug6674-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug69187-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug69382-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug69382-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug7112-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug7112-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug73321-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug78162-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug80762-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug82946-1-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug82946-2-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug86708-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug8858-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug92143-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug93363-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug96334-expected.txt:
* platform/wpe/tables/mozilla/bugs/bug965-expected.txt:
* platform/wpe/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
* platform/wpe/tables/mozilla/core/bloomberg-expected.txt:
* platform/wpe/tables/mozilla/core/borders-expected.txt:
* platform/wpe/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
* platform/wpe/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
* platform/wpe/tables/mozilla/core/margins-expected.txt:
* platform/wpe/tables/mozilla/core/one_row-expected.txt:
* platform/wpe/tables/mozilla/core/row_span-expected.txt:
* platform/wpe/tables/mozilla/dom/appendCol2-expected.txt:
* platform/wpe/tables/mozilla/dom/appendRowsExpand1-expected.txt:
* platform/wpe/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
* platform/wpe/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
* platform/wpe/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
* platform/wpe/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
* platform/wpe/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
* platform/wpe/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
* platform/wpe/tables/mozilla/dom/insertCellsExpand1-expected.txt:
* platform/wpe/tables/mozilla/dom/insertCellsExpand2-expected.txt:
* platform/wpe/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
* platform/wpe/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
* platform/wpe/tables/mozilla/dom/insertRowsExpand1-expected.txt:
* platform/wpe/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
* platform/wpe/tables/mozilla/dom/tableDom-expected.txt:
* platform/wpe/tables/mozilla/marvin/body_tfoot-expected.txt:
* platform/wpe/tables/mozilla/marvin/col_span-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_align_center-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_align_left-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_align_right-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_span-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
* platform/wpe/tables/mozilla/marvin/colgroup_width_px-expected.txt:
* platform/wpe/tables/mozilla/marvin/table_rules_all-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_cellpadding-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_cellspacing-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_style-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_td_align_center-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_td_align_left-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_td_align_right-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_td_colspan-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_td_height-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_td_width-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_th_align_center-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_th_align_left-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_th_align_right-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_th_colspan-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_th_height-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
* platform/wpe/tables/mozilla/marvin/tables_th_width-expected.txt:
* platform/wpe/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/tbody_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/td_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/td_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/td_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/td_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/th_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/th_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/th_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/th_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/thead_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/thead_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/tr_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_col_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_col_width_rel-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_table-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_table_style-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_td_align_center-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_td_align_left-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_td_align_right-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_td_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_th_align_center-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_th_align_left-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_th_align_right-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_th_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
* platform/wpe/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
* platform/wpe/tables/mozilla/other/ms-expected.txt:
* platform/wpe/tables/mozilla/other/nested2-expected.txt:
* platform/wpe/tables/mozilla/other/test3-expected.txt:
* platform/wpe/tables/mozilla/other/test6-expected.txt:
* platform/wpe/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
* platform/wpe/tables/mozilla/other/wa_table_tr_align-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug11331-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug19526-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug32205-4-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug42043-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/core/captions1-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/core/captions2-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/core/captions3-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/core/col_span2-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/core/cols1-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/core/standards1-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
* platform/wpe/tables/mozilla_expected_failures/other/test4-expected.txt:
* platform/wpe/transforms/2d/compound-transforms-vs-containers-expected.txt:
* platform/wpe/transforms/2d/transform-borderbox-expected.txt:
* platform/wpe/transforms/2d/transform-fixed-container-expected.txt:
* platform/wpe/transforms/2d/transform-origin-borderbox-expected.txt:
* platform/wpe/transforms/3d/hit-testing/backface-hit-test-expected.txt:
* platform/wpe/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt:
* platform/wpe/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
* platform/wpe/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt:
* platform/wpe/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt:
* platform/wpe/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt:
* platform/wpe/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
* platform/wpe/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
* platform/wpe/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
* platform/wpe/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:

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

2 years ago[iOS DnD] Support DataTransfer.getData and DataTransfer.setData when dragging or...
wenson_hsieh@apple.com [Wed, 13 Sep 2017 01:05:28 +0000 (01:05 +0000)]
[iOS DnD] Support DataTransfer.getData and DataTransfer.setData when dragging or dropping
https://bugs.webkit.org/show_bug.cgi?id=176672
<rdar://problem/34353723>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Makes several tweaks to support DataTransfer.getData and DataTransfer.setData when dragging and dropping on iOS.
See per-method changes below for more details. This patch also renames some old variable and property names
along the way, so they no longer reference "data interaction", and instead refer to the feature by its post-WWDC
name.

New test: DataInteractionTests.ExternalSourceInlineTextToFileInput
Modified: DataInteractionTests.CanStartDragOnDivWithDraggableAttribute
          DataInteractionTests.SinglePlainTextURLTypeIdentifiers
          DataInteractionTests.SinglePlainTextWordTypeIdentifiers

* platform/ios/AbstractPasteboard.h:
* platform/ios/PasteboardIOS.mm:
(WebCore::cocoaTypeFromHTMLClipboardType):

In cocoaTypeFromHTMLClipboardType, map the "text/plain" MIME type to the "public.plain-text" UTI. Previously,
this corresponded to "public.text", which is incorrect, since "public.text" also includes non-plain-text types
such as "public.html", thereby confusing NSItemProviders. Importantly, this makes it so that plain text strings
written via DataTransfer.setData() can actually be read back as a cocoa value, since "public.plain-text" is one
of the UTIs in +[NSString readableTypeIdentifiersForItemProvider].

(WebCore::Pasteboard::writeString):

Instead of writing { type : data } to the pasteboard, write { cocoaType : data }. It appears that this was
changed unintentionally in r156588 when upstreaming the iOS pasteboard implementation. This is made apparent by
how Pasteboard::readString() requests the cocoa UTI from the platform pasteboard, but Pasteboard::writeString()
sends the MIME type.

* platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::filenamesForDataInteraction):
(WebCore::PlatformPasteboard::write):

When writing plain text or a URL, specify that the item wants inline style representation. This prevents odd and
unexpected behaviors (for instance, being able to drag plain text into the Files app as a file), but it also
makes getData() not bail and return the null string on drop, due to forFileDrag() being true in
DataTransfer::getData().

* platform/ios/WebItemProviderPasteboard.h:
* platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderRegistrationInfoList init]):
(uiPreferredPresentationStyle):
(-[WebItemProviderRegistrationInfoList itemProvider]):

Set the preferred presentation style when generating an item provider from a registration list.

(+[WebItemProviderLoadResult emptyLoadResult]):
(+[WebItemProviderLoadResult loadResultWithFileURLMap:presentationStyle:]):
(-[WebItemProviderLoadResult initWithFileURLMap:presentationStyle:]):
(-[WebItemProviderLoadResult fileURLForType:]):
(-[WebItemProviderLoadResult loadedFileURLs]):
(-[WebItemProviderLoadResult loadedTypeIdentifiers]):

Introduce WebItemProviderLoadResult, an object that encapsulates information needed to represent the contents of
an NSItemProvider dropped in web content. Previously, WebItemProviderPasteboard maintained an array of
dictionaries of UTI => file URL, where each dictionary represents where the dropped data for a given item
provider lives. Now that we additionally need to remember (for each item provider) whether we should consider
its data as a file upload, it's more helpful to have a separate object representing the "load results" of a
dropped item provider.

(-[WebItemProviderPasteboard init]):
(-[WebItemProviderPasteboard pasteboardTypes]):
(-[WebItemProviderPasteboard setItemProviders:]):
(-[WebItemProviderPasteboard _preLoadedDataConformingToType:forItemProviderAtIndex:]):
(-[WebItemProviderPasteboard droppedFileURLs]):

Respect item provider load results that should not be exposed as a file to the page.

(-[WebItemProviderPasteboard numberOfFiles]):

Respect item providers with UIPreferredPresentationStyleInline by not counting them towards the number of files.

(-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout:]):

Adjust for the transition from an array of dictionaries representing loaded item providers to an array of
WebItemProviderLoadResults.

(-[WebItemProviderPasteboard fileURLsForDataInteraction]): Deleted.
* platform/mac/DragDataMac.mm:
(WebCore::DragData::containsFiles const):

DragData::containsFiles previously only considered whether or not particular UTIs appear in the pasteboard. In
the case of Mac, this is NSFilesPromisePboardType and NSFilenamesPboardType, but in the case of iOS, this is a
much broader category (anything conforming to "public.content"), since files are not exposed explicitly as
"promise" or "file" types in the list of registered UTIs. This caused us to always bail in
DataTransfer.getData() on drop on iOS, since we will always believe there's a file on the pasteboard if there's
anything conforming to "public.content" at all.

To fix this and simplify the code at the same time, we simply replace the currently implementation of
DragData::containsFiles to return true iff the number of files is nonzero. On Mac, DragData::numberOfFiles
checks the same UTIs as DragData::containsFiles (NSFilesPromisePboardType and NSFilenamesPboardType), but
additionally counts the number of file URLs corresponding to those UTIs.

On iOS, the implementation of numberOfFiles is new to iOS 11, and relevant only in the drag and drop flow.
Previously, we would consider an item provider to "contain" a file if it had a UTI conforming to one of the UTIs
acceptable for drag and drop (at the time of writing, these are ["public.content", "public.zip",
"public.folder"]). With this patch, anything conforming to these UTIs will continue to be represented as files,
but importantly, if an item provider indicates that it should be represented inline (i.e. a plain text
selection), then we don't consider that item provider as vending a file. This allows us to distinguish between
cases where we are dragging a plain text selection over a file input, and when we are dragging a plain text file.
In both cases, "public.plain-text" is offered as a registered UTI, but in the former, the item provider should
indicate that inline presentation style is preferred. Refer to <rdar://problem/32202542> for more details.

Tools:

Adds new tests and tweaks existing DataInteractionTests to cover the tweaks made in this patch.
SinglePlainTextURLTypeIdentifiers: Verify that inline presentation style is requested when dragging plaintext.
SinglePlainTextWordTypeIdentifiers: Verify that inline presentation style is requested when dragging a link.
ExternalSourceInlineTextToFileInput:
        Verify that an item provider marked as preferring inline presentation does not trigger file uploads by
        dragging a piece of inline text into a file input.
CanStartDragOnDivWithDraggableAttribute:
        Verify that DataTransfer.setData and DataTransfer.getData work as expected by moving a draggable div.
        The test harness writes the id of the draggable div via the DataTransfer, and upon drop, reads the id
        back to figure out which element to append to the drop destination.

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

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

2 years agoQualifiedName::init should assume AtomicStrings::init was already called
commit-queue@webkit.org [Wed, 13 Sep 2017 00:31:19 +0000 (00:31 +0000)]
QualifiedName::init should assume AtomicStrings::init was already called
https://bugs.webkit.org/show_bug.cgi?id=176639

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-09-12
Reviewed by Sam Weinig.

Source/WebCore:

* dom/QualifiedName.cpp:
(WebCore::QualifiedName::init):
All callers of QualifiedName::init precede it with their own call to
AtomicString::init, so QualifiedName doesn't need to do it.

Source/WTF:

* wtf/NeverDestroyed.h:
(WTF::LazyNeverDestroyed::isConstructed const):

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

2 years agoUnskip fast/text/system-font-synthetic-italic.html
mmaxfield@apple.com [Wed, 13 Sep 2017 00:27:46 +0000 (00:27 +0000)]
Unskip fast/text/system-font-synthetic-italic.html
https://bugs.webkit.org/show_bug.cgi?id=175944
Source/WebCore:

<rdar://problem/32864306>

Reviewed by Jon Lee.

Our buildbots now all have this symbol.

* platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp:
(WebCore::FontFamilySpecificationCoreText::fontRanges const):

Source/WebCore/PAL:

Reviewed by Jon Lee.

* pal/spi/cocoa/CoreTextSPI.h:

LayoutTests:

<rdar://problem/32864306>

Reviewed by Jon Lee.

* platform/mac-highsierra/TestExpectations:

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

2 years agoString.prototype.replace() puts extra '<' in result when a named capture reference...
msaboff@apple.com [Wed, 13 Sep 2017 00:20:36 +0000 (00:20 +0000)]
String.prototype.replace() puts extra '<' in result when a named capture reference is used without named captures in the RegExp
https://bugs.webkit.org/show_bug.cgi?id=176814

Reviewed by Mark Lam.

Source/JavaScriptCore:

The copy and advance indices where off by one and needed a little fine tuning.

* runtime/StringPrototype.cpp:
(JSC::substituteBackreferencesSlow):

LayoutTests:

New regression test case.

* js/regexp-named-capture-groups-expected.txt:
* js/script-tests/regexp-named-capture-groups.js:

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

2 years agoASSERTION FAILED: !m_valueOrException under FontFaceSet::completedLoading loading...
mmaxfield@apple.com [Wed, 13 Sep 2017 00:13:01 +0000 (00:13 +0000)]
ASSERTION FAILED: !m_valueOrException under FontFaceSet::completedLoading loading a Serious Eats page
https://bugs.webkit.org/show_bug.cgi?id=175899

Reviewed by Tim Horton.

Source/WebCore:

Slight style update to r221835. Also adds a test.

Test: fast/text/document-fonts-while-loading-crash.html

* css/CSSFontFaceSet.h:
* css/FontFaceSet.cpp:
(WebCore::FontFaceSet::FontFaceSet):

LayoutTests:

* fast/text/document-fonts-while-loading-crash-expected.txt: Added.
* fast/text/document-fonts-while-loading-crash.html: Added.

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

2 years agoInline ParserUtilities.h
mmaxfield@apple.com [Wed, 13 Sep 2017 00:07:10 +0000 (00:07 +0000)]
Inline ParserUtilities.h
https://bugs.webkit.org/show_bug.cgi?id=176572

Reviewed by Darin Adler.

Its contents are only ever used from SVG files which also include SVGParserUtilities.h.

No new tests because there is no behavior change.

* WebCore.xcodeproj/project.pbxproj:
* platform/text/ParserUtilities.h: Removed.
* svg/SVGParserUtilities.h:
(WebCore::skipString):

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

2 years agoDragging & dropping a file creates an attachment element even when it's disabled
rniwa@webkit.org [Tue, 12 Sep 2017 23:31:14 +0000 (23:31 +0000)]
Dragging & dropping a file creates an attachment element even when it's disabled
https://bugs.webkit.org/show_bug.cgi?id=176769

Reviewed by Tim Horton.

Source/WebCore:

The bug that dropping a file always created an attachment element even when it's disabled by settings
was caused by WebContentReader::readFilenames always creating an attachment element. Fixed this by
checking the runtime flag. The fix is tested by drag-files-to-editable-element-as-URLs.html

To fix the bug that HTMLAttachmentElement is always exposed on the global object even when it's disabled
by settings, replaced the setting to enable attachment element by an equivalent runtime enabled flag,
and hid both the interface as well as the element behind it. Fixed various bugs in our code generator
to make this work.

Tests: editing/pasteboard/drag-files-to-editable-element-as-URLs.html
       editing/pasteboard/drag-files-to-editable-element-as-attachment.html

* bindings/js/WebCoreBuiltinNames.h: Added symbols used in the generated code.
* dom/make_event_factory.pl:
(defaultItemFactory): Replaced "runtimeConditonal" option by "runtimeEnabled".
(generateImplementation):
* dom/make_names.pl:
(defaultTagPropertyHash):
(printConstructorInterior): Return a HTMLUnknownElement if the element is disabled by a runtime flag.
(printTypeHelpers): Make is<HTMLAttachmentElement>(~) returns false when the feature is disabled by
checking whether the given element is an instance of HTMLUnknownElement.
(printWrapperFunctions): Simplified this code by matching the code for settingsConditional.
* editing/mac/EditorMac.mm:
(WebCore::Editor::WebContentReader::readFilenames): Fixed the bug that this code was always creating
an attachment element even when the feature is disabled.
* html/HTMLAttachmentElement.idl: Hide this behind a runtime flag.
* html/HTMLTagNames.in:
* page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setAttachmentElementEnabled): Added.
(WebCore::RuntimeEnabledFeatures::attachmentElementEnabled const): Added.
* page/Settings.in: Removed attachmentElementEnabled.

Source/WebKit:

* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAttachmentElementEnabled):
(WKPreferencesGetAttachmentElementEnabled):
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Source/WebKitLegacy/mac:

* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Tools:

Added a webkit-test-runner flag to enable attachment element via runtime flag since this feature is now hidden
behind a runtime-enabled flag which needs to be set at the time of global object initialization.

* DumpRenderTree/TestOptions.h:
(TestOptions): Added.
* DumpRenderTree/TestOptions.mm:
(TestOptions::TestOptions):
* DumpRenderTree/mac/DumpRenderTree.mm:
(setWebPreferencesForTestOptions):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
* WebKitTestRunner/TestOptions.h:
(WTR::TestOptions::hasSameInitializationOptions const):
* WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):

LayoutTests:

Updated the existing attachment element tests to use the newly added webkitt-test-runner flag,
and added a new test (drag-files-to-editable-element-as-URLs.html) to make sure we don't create
an attachment element when dropping a file.

* editing/pasteboard/copy-paste-attachment-expected.txt:
* editing/pasteboard/copy-paste-attachment.html:
* editing/pasteboard/drag-files-to-editable-element-as-URLs-expected.txt: Added.
* editing/pasteboard/drag-files-to-editable-element-as-URLs.html: Copied from
drag-files-to-editable-element.html.
* editing/pasteboard/drag-files-to-editable-element-as-attachment-expected.txt: Renamed from
drag-files-to-editable-element-expected.txt.
* editing/pasteboard/drag-files-to-editable-element-as-attachment.html: Renamed from
drag-files-to-editable-element.html.
* editing/pasteboard/drag-files-to-editable-element-expected.txt: Removed.
* editing/pasteboard/drag-files-to-editable-element.html: Removed.
* fast/attachment/attachment-action-expected.html:
* fast/attachment/attachment-action.html:
* fast/attachment/attachment-borderless-expected-mismatch.html:
* fast/attachment/attachment-borderless.html:
* fast/attachment/attachment-default-icon-expected.html:
* fast/attachment/attachment-default-icon.html:
* fast/attachment/attachment-dom.html:
* fast/attachment/attachment-folder-icon-expected.html:
* fast/attachment/attachment-folder-icon.html:
* fast/attachment/attachment-icon-from-file-extension-expected.html:
* fast/attachment/attachment-icon-from-file-extension.html:
* fast/attachment/attachment-label-highlight.html:
* fast/attachment/attachment-progress.html:
* fast/attachment/attachment-rendering.html:
* fast/attachment/attachment-respects-css-size.html:
* fast/attachment/attachment-select-on-click-inside-user-select-all.html:
* fast/attachment/attachment-select-on-click.html:
* fast/attachment/attachment-subtitle-resize.html:
* fast/attachment/attachment-subtitle.html:
* fast/attachment/attachment-title.html:
* fast/attachment/attachment-type-attribute-expected.html:
* fast/attachment/attachment-type-attribute.html:
* fast/attachment/attachment-uti-expected.html:
* fast/attachment/attachment-uti.html:
* fast/attachment/attachment-wrapping-action-expected-mismatch.html:
* fast/attachment/attachment-wrapping-action.html:
* platform/gtk/TestExpectations:
* platform/win/TestExpectations:
* platform/wk2/TestExpectations:

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

2 years agoWeb Inspector: Add Experimental setting for new Network tab
commit-queue@webkit.org [Tue, 12 Sep 2017 23:20:54 +0000 (23:20 +0000)]
Web Inspector: Add Experimental setting for new Network tab
https://bugs.webkit.org/show_bug.cgi?id=176750

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-09-12
Reviewed by Matt Baker.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Main.html:
* UserInterface/Base/Main.js:
(WI.contentLoaded):
New files and strings.

* UserInterface/Base/Setting.js:
New experimental setting.

* UserInterface/Views/LegacyNetworkTabContentView.js:
(WI.LegacyNetworkTabContentView.isTabAllowed):
Legacy tab availability depends on the setting.

* UserInterface/Views/NetworkTabContentView.js:
(WI.NetworkTabContentView):
(WI.NetworkTabContentView.isTabAllowed):
(WI.NetworkTabContentView.prototype.get contentBrowser):
(WI.NetworkTabContentView.prototype.get type):
(WI.NetworkTabContentView.prototype.canShowRepresentedObject):
(WI.NetworkTabContentView.prototype.get supportsSplitContentBrowser):
Modern network tab. Only difference right now is it allows the split console.

* UserInterface/Views/NetworkTableContentView.js: Added.
(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.get selectionPathComponents):
(WI.NetworkTableContentView.prototype.get navigationItems):
(WI.NetworkTableContentView.prototype.shown):
(WI.NetworkTableContentView.prototype.hidden):
(WI.NetworkTableContentView.prototype.closed):
(WI.NetworkTableContentView.prototype.reset):
(WI.NetworkTableContentView.prototype.layout):
(WI.NetworkTableContentView.prototype.handleClearShortcut):
(WI.NetworkTableContentView.prototype._resourceCachingDisabledSettingChanged):
(WI.NetworkTableContentView.prototype._toggleDisableResourceCache):
Add a stubbed out ContentView. This will be implemented next.

* UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
Add an experimental setting to toggle the new network tab. Only
show the experimental settings that relate to the debuggable target.
For JSContext targets, none of the settings are applicable, so don't
even show the experimental section.

* UserInterface/Views/TabBrowser.js:
(WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
Treat all network tabs the same.

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

2 years agoIntroduce a RecordData for Cache to efficiently check whether it matches a correspond...
commit-queue@webkit.org [Tue, 12 Sep 2017 23:13:17 +0000 (23:13 +0000)]
Introduce a RecordData for Cache to efficiently check whether it matches a corresponding request or not
https://bugs.webkit.org/show_bug.cgi?id=176579

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

Source/WebCore:

No change of behavior.

Introducing another version of queryCacheMatch used for the NetworkProcess implementation of the Cache.
Exporting the copy of a response body to be used also there.

* Modules/cache/DOMCacheEngine.cpp:
(WebCore::DOMCacheEngine::matchURLs):
(WebCore::DOMCacheEngine::queryCacheMatch):
(WebCore::DOMCacheEngine::copyResponseBody):
* Modules/cache/DOMCacheEngine.h:

Source/WebKit:

Introducing RecordData that splits its stored data in mandatory data,
used to check a record with a request and optional data that is
necessary to build a CacheStorageEngine::Record used by WebProcess.

The mandatory data contains the URL, Vary header information and identifiers.
Adding routines to go from a Record to RecordData and vice versa.
Storing in CacheStorage::Cache RecordData instead of Record.

* NetworkProcess/cache/CacheStorageEngineCache.cpp:
(WebKit::CacheStorage::queryCache):
(WebKit::CacheStorage::updateVaryInformation):
(WebKit::CacheStorage::toRecord):
(WebKit::CacheStorage::toRecordData):
(WebKit::CacheStorage::Cache::retrieveRecords const):
(WebKit::CacheStorage::Cache::addRecord):
(WebKit::CacheStorage::Cache::recordsFromURL):
(WebKit::CacheStorage::Cache::recordsFromURL const):
(WebKit::CacheStorage::Cache::put):
(WebKit::CacheStorage::Cache::writeRecordToDisk):
(WebKit::CacheStorage::Cache::removeRecordFromDisk):
* NetworkProcess/cache/CacheStorageEngineCache.h:

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

2 years agoAnimationBase should point to Element instead of RenderElement
antti@apple.com [Tue, 12 Sep 2017 22:09:47 +0000 (22:09 +0000)]
AnimationBase should point to Element instead of RenderElement
https://bugs.webkit.org/show_bug.cgi?id=176807

Reviewed by Andreas Kling.

This is a step towards making animation system operate on elements and styles instead renderers.

No functional changes.

* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::AnimationBase):
(WebCore::AnimationBase::renderer const):
(WebCore::AnimationBase::compositedRenderer const):
(WebCore::AnimationBase::updateStateMachine):
(WebCore::AnimationBase::fireAnimationEventsIfNeeded):
(WebCore::AnimationBase::timeToNextService):
(WebCore::AnimationBase::freezeAtTime):
(WebCore::AnimationBase::getElapsedTime const):
* page/animation/AnimationBase.h:
(WebCore::AnimationBase::clear):
(WebCore::AnimationBase::renderer const): Deleted.
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::shouldSendEventForListener const):
(WebCore::ImplicitAnimation::computeExtentOfTransformAnimation const):
(WebCore::ImplicitAnimation::startAnimation):
(WebCore::ImplicitAnimation::pauseAnimation):
(WebCore::ImplicitAnimation::endAnimation):
(WebCore::ImplicitAnimation::sendTransitionEvent):
(WebCore::ImplicitAnimation::reset):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::getAnimatedStyle):
(WebCore::KeyframeAnimation::computeExtentOfTransformAnimation const):
(WebCore::KeyframeAnimation::startAnimation):
(WebCore::KeyframeAnimation::pauseAnimation):
(WebCore::KeyframeAnimation::endAnimation):
(WebCore::KeyframeAnimation::shouldSendEventForListener const):
(WebCore::KeyframeAnimation::sendAnimationEvent):
(WebCore::KeyframeAnimation::resolveKeyframeStyles):

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

2 years agoWSL should allow you to say "protocol Foo : Bar { ... }"
fpizlo@apple.com [Tue, 12 Sep 2017 22:04:01 +0000 (22:04 +0000)]
WSL should allow you to say "protocol Foo : Bar { ... }"
https://bugs.webkit.org/show_bug.cgi?id=176238

Reviewed by Mylex Maxfield.

This makes protocol "subtyping" work. It's not really subtyping. Protocol A inherits protocol B
if every signature in B can be resolved against some signature in A. Also, you can explicitly
subtype protocols using extends syntax ("protocol Foo : Bar, Baz { ... }").

Also makes the diagnostics when type variable constraints fail a _lot_ better. This will even
tell you diagnostics about why a function didn't match when protocols are not inheriting, and
then it will tell you why the inheritance failed.

* WebGPUShadingLanguageRI/All.js:
* WebGPUShadingLanguageRI/AutoWrapper.js:
(AutoWrapper.prototype.visitTypeVariable):
(AutoWrapper):
* WebGPUShadingLanguageRI/Checker.js:
(Checker.prototype.visitProtocolDecl.set throw):
* WebGPUShadingLanguageRI/ConstexprTypeParameter.js:
(ConstexprTypeParameter.prototype.verifyAsArgument):
(ConstexprTypeParameter.prototype.verifyAsParameter):
* WebGPUShadingLanguageRI/FlattenProtocolExtends.js: Added.
* WebGPUShadingLanguageRI/Func.js:
(Func.prototype.get typeParametersForCallResolution):
* WebGPUShadingLanguageRI/InferTypesForCall.js:
(inferTypesForCall):
* WebGPUShadingLanguageRI/IntLiteralType.js:
(IntLiteralType.prototype.verifyAsArgument):
* WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitProtocolDecl):
(NameResolver.prototype.visitProtocolRef): Deleted.
(NameResolver.prototype.visitProtocolFuncDecl): Deleted.
(NameResolver.prototype.visitTypeDef): Deleted.
(NameResolver.prototype.visitStructType): Deleted.
(NameResolver.prototype._resolveTypeArguments): Deleted.
(NameResolver.prototype.visitTypeRef): Deleted.
(NameResolver.prototype.visitReferenceType): Deleted.
(NameResolver.prototype.visitVariableDecl): Deleted.
(NameResolver.prototype.visitVariableRef): Deleted.
(NameResolver.prototype.visitReturn): Deleted.
(NameResolver.prototype.visitCallExpression): Deleted.
* WebGPUShadingLanguageRI/Node.js:
(Node.prototype.equals):
* WebGPUShadingLanguageRI/NullType.js:
(NullType.prototype.verifyAsArgument):
* WebGPUShadingLanguageRI/Parse.js:
(parseProtocolDecl):
* WebGPUShadingLanguageRI/Prepare.js:
(prepare):
* WebGPUShadingLanguageRI/ProtocolDecl.js:
(ProtocolDecl): Deleted.
(ProtocolDecl.prototype.add): Deleted.
(ProtocolDecl.prototype.get signatures): Deleted.
(ProtocolDecl.prototype.signaturesByName): Deleted.
(ProtocolDecl.prototype.get typeVariable): Deleted.
(ProtocolDecl.prototype.signaturesByNameWithTypeVariable): Deleted.
(ProtocolDecl.prototype.inherits): Deleted.
(ProtocolDecl.prototype.hasHeir): Deleted.
(ProtocolDecl.prototype.toString): Deleted.
* WebGPUShadingLanguageRI/ProtocolFuncDecl.js:
(ProtocolFuncDecl.prototype.get typeParametersForCallResolution):
(ProtocolFuncDecl):
* WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitProtocolDecl):
* WebGPUShadingLanguageRI/Test.html:
* WebGPUShadingLanguageRI/Test.js:
(TEST_nullTypeVariableUnify):
(TEST_simpleProtocolExtends):
(TEST_protocolExtendsTwo):
* WebGPUShadingLanguageRI/Type.js:
(Type.prototype.inherits):
* WebGPUShadingLanguageRI/TypeDefResolver.js:
(TypeDefResolver.prototype.visitTypeRef):
(TypeDefResolver):
* WebGPUShadingLanguageRI/TypeVariable.js:
(TypeVariable.prototype.inherits):
(TypeVariable.prototype.verifyAsArgument):
(TypeVariable.prototype.verifyAsParameter):
* WebGPUShadingLanguageRI/UnificationContext.js:
(UnificationContext.prototype.verify):
* WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitProtocolDecl):
(Visitor.prototype.visitTypeRef): Deleted.
(Visitor.prototype.visitNativeType): Deleted.
(Visitor.prototype.visitNativeTypeInstance): Deleted.
(Visitor.prototype.visitTypeDef): Deleted.
(Visitor.prototype.visitStructType): Deleted.
(Visitor.prototype.visitTypeVariable): Deleted.
(Visitor.prototype.visitConstexprTypeParameter): Deleted.
(Visitor.prototype.visitField): Deleted.
(Visitor.prototype.visitElementalType): Deleted.
(Visitor.prototype.visitReferenceType): Deleted.
(Visitor.prototype.visitPtrType): Deleted.
(Visitor.prototype.visitArrayRefType): Deleted.
(Visitor.prototype.visitArrayType): Deleted.
(Visitor.prototype.visitVariableDecl): Deleted.
(Visitor.prototype.visitAssignment): Deleted.
(Visitor.prototype.visitDereferenceExpression): Deleted.
(Visitor.prototype.visitDotExpression): Deleted.
(Visitor.prototype.visitMakePtrExpression): Deleted.
(Visitor.prototype.visitVariableRef): Deleted.
(Visitor.prototype.visitIfStatement): Deleted.
(Visitor.prototype.visitWhileLoop): Deleted.
(Visitor.prototype.visitDoWhileLoop): Deleted.
(Visitor.prototype.visitForLoop): Deleted.
(Visitor.prototype.visitReturn): Deleted.
(Visitor.prototype.visitContinue): Deleted.
(Visitor.prototype.visitBreak): Deleted.
(Visitor.prototype.visitIntLiteral): Deleted.
(Visitor.prototype.visitIntLiteralType): Deleted.
(Visitor.prototype.visitUintLiteral): Deleted.
(Visitor.prototype.visitNullLiteral): Deleted.
(Visitor.prototype.visitBoolLiteral): Deleted.
(Visitor.prototype.visitNullType): Deleted.
(Visitor.prototype.visitCallExpression): Deleted.
(Visitor.prototype.visitLogicalNot): Deleted.
(Visitor.prototype.visitFunctionLikeBlock): Deleted.
* WebGPUShadingLanguageRI/WrapChecker.js:
(WrapChecker.prototype.visitTypeVariable):
(WrapChecker):

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

2 years ago[Win] Add Modules/fetch to list of forwarding headers folders.
pvollan@apple.com [Tue, 12 Sep 2017 21:12:57 +0000 (21:12 +0000)]
[Win] Add Modules/fetch to list of forwarding headers folders.
https://bugs.webkit.org/show_bug.cgi?id=176747

Reviewed by Brent Fulgham.

* PlatformWin.cmake:

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

2 years ago[GTK] Unreviewed, update crash expectations after r221925
mcatanzaro@igalia.com [Tue, 12 Sep 2017 20:44:11 +0000 (20:44 +0000)]
[GTK] Unreviewed, update crash expectations after r221925

* platform/gtk/TestExpectations:

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

2 years ago[MSE] Don't increase the reported totalFrameDelay for non-displayed frames (or frames...
jer.noble@apple.com [Tue, 12 Sep 2017 20:14:57 +0000 (20:14 +0000)]
[MSE] Don't increase the reported totalFrameDelay for non-displayed frames (or frames coming in while paused).
https://bugs.webkit.org/show_bug.cgi?id=175900

Reviewed by Eric Carlson.

When seeking to a specific time, the decompression session necessarily needs to be fed samples from before that
time (i.e., all samples from the previous I-frame forward). These shouldn't contribute to the "total frame
delay" metric. Neither should samples delivered when the video is paused (like, during seeking), as a frame can't
be "late" if time is not moving forward.

* platform/graphics/cocoa/WebCoreDecompressionSession.mm:
(WebCore::WebCoreDecompressionSession::handleDecompressionOutput):
* platform/cf/CoreMediaSoftLink.cpp:
* platform/cf/CoreMediaSoftLink.h:

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

2 years agoGtk build fix for "Finish off the FormData implementation" - https://bugs.webkit...
weinig@apple.com [Tue, 12 Sep 2017 20:03:43 +0000 (20:03 +0000)]
Gtk build fix for "Finish off the FormData implementation" - https://bugs.webkit.org/show_bug.cgi?id=176659

* fileapi/Blob.cpp:
(WebCore::Blob::Blob):
* fileapi/Blob.h:
* fileapi/File.cpp:
(WebCore::File::File):

    Replace copy constructor with a tagged constructor.

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

2 years agoREGRESSION: 3 stress/op_mod (and op_div) tests timing out on Debug JSC bots.
mark.lam@apple.com [Tue, 12 Sep 2017 19:46:41 +0000 (19:46 +0000)]
REGRESSION: 3 stress/op_mod (and op_div) tests timing out on Debug JSC bots.
https://bugs.webkit.org/show_bug.cgi?id=176630

Reviewed by JF Bastien.

Debug builds are just slow, and these tests do a lot.  They pass when I run them
locally on my MacBook Pro.  So, I'm bumping their timing multiplier to 2.0x as
a speculative fix for the bots that are seeing these fail.

I also undid the skipping of the op_mod tests for debug builds.

* stress/op_div-ConstVar.js:
* stress/op_div-VarConst.js:
* stress/op_div-VarVar.js:
* stress/op_mod-ConstVar.js:
* stress/op_mod-VarConst.js:
* stress/op_mod-VarVar.js:

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

2 years agoTried to fix the iOS 10 build after r221930.
mitz@apple.com [Tue, 12 Sep 2017 19:39:56 +0000 (19:39 +0000)]
Tried to fix the iOS 10 build after r221930.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _setDragInteractionPolicy:]):

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

2 years ago[WebGL] VideoTextureCopierCV doesn't correctly restore vertex attribute state
dino@apple.com [Tue, 12 Sep 2017 19:28:54 +0000 (19:28 +0000)]
[WebGL] VideoTextureCopierCV doesn't correctly restore vertex attribute state
https://bugs.webkit.org/show_bug.cgi?id=176771
<rdar://problem/34386621>

Reviewed by Antoine Quint.

Source/WebCore:

The OpenGL context in VideoTextureCopierCV wasn't being restored to
the state it had before rendering a video to a texture. Specifically
the vertex attribute values were never recorded by the state saver.

Update the existing test of VideoTextureCopierCV so that it is
explicitly doing something different from the WebCore code, which
means that state will have to be correctly restored for the test
to pass.

* platform/graphics/cv/VideoTextureCopierCV.cpp:
(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture): Make sure
to record the vertex attribute state once we know the location of the position attribute.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::GC3DStateSaver):
(WebCore::VideoTextureCopierCV::GC3DStateSaver::~GC3DStateSaver):
(WebCore::VideoTextureCopierCV::GC3DStateSaver::saveVertexAttribState): Save all the
applicable vertex attribute state information.
* platform/graphics/cv/VideoTextureCopierCV.h: GC3DStateSaver can use a reference
to the GC3D rather than a pointer.

LayoutTests:

Tweak this test to make sure it does something different from
the code in WebCore to render a video into a texture, thus
ensuring that we're testing state is correctly restored.

* fast/canvas/webgl/texImage2D-video-flipY-true.html:

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

2 years ago[WebGL] accelerated texImage2D for video doesn't respect flipY
dino@apple.com [Tue, 12 Sep 2017 19:28:29 +0000 (19:28 +0000)]
[WebGL] accelerated texImage2D for video doesn't respect flipY
https://bugs.webkit.org/show_bug.cgi?id=176491
<rdar://problem/33833511>

Reviewed by Jer Noble.

(Take 2 - this was rolled out due to a test failure, but the following
commit will fix that)

Source/WebCore:

Previously, if UNPACK_FLIP_Y_WEBGL was set to true, we'd either fall
back to software or fail to upload texture data. Fix this by intercepting
the texImage2D call, checking the orientation of the video, and running
a small shader program to flip it if necessary.

While there, implement UNPACK_PREMULTIPLY_ALPHA_WEBGL as well, although
none of our media decoders support video with alpha, so unfortunately
this will have no visible change.

Tests: fast/canvas/webgl/texImage2D-video-flipY-false.html
       fast/canvas/webgl/texImage2D-video-flipY-true.html

* platform/cocoa/CoreVideoSoftLink.cpp: Add link to CVOpenGL(ES)TextureGetCleanTexCoords,
which is used to check the orientation of the source video.
* platform/cocoa/CoreVideoSoftLink.h:

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture): We can
now handle flipped or premultiplied requests.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::copyVideoTextureToPlatformTexture): Ditto.

* platform/graphics/cv/VideoTextureCopierCV.cpp:
(WebCore::VideoTextureCopierCV::VideoTextureCopierCV): Rename readFramebuffer to
simply framebuffer.
(WebCore::VideoTextureCopierCV::~VideoTextureCopierCV): Delete the program and buffer
if they were created.
(WebCore::VideoTextureCopierCV::initializeContextObjects): Sets up the shader program
and the vertex buffer for drawing. Also records the location of the uniforms.
(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture): Create a new
framebuffer object, and render the video texture into that framebuffer using a
shader that can flip the coordinates.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::GC3DStateSaver): Helper to restore
the state of the user's GraphicsContext3D while we're intercepting calls.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::~GC3DStateSaver):
* platform/graphics/cv/VideoTextureCopierCV.h:

* platform/graphics/GraphicsContext3D.h: Add two new entry points, for direct shader
compilation and attribute access. This avoids going through ANGLE.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::compileShaderDirect):
(WebCore::GraphicsContext3D::getAttribLocationDirect):

LayoutTests:

Test that exercises UNPACK_FLIP_Y_WEBGL for video on the accelerated
path.

* fast/canvas/webgl/resources/orientation-flipped.mp4: Added.
* fast/canvas/webgl/resources/orientation-normal.mp4: Added.
* fast/canvas/webgl/texImage2D-video-flipY-false-expected.txt: Added.
* fast/canvas/webgl/texImage2D-video-flipY-false.html: Added.
* fast/canvas/webgl/texImage2D-video-flipY-true-expected.txt: Added.
* fast/canvas/webgl/texImage2D-video-flipY-true.html: Added.
* platform/ios/TestExpectations:

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

2 years ago[css-grid] Stretching auto tracks should be done as part of the track sizing algorithm
rego@igalia.com [Tue, 12 Sep 2017 19:19:45 +0000 (19:19 +0000)]
[css-grid] Stretching auto tracks should be done as part of the track sizing algorithm
https://bugs.webkit.org/show_bug.cgi?id=176783

Reviewed by Sergio Villar Senin.

LayoutTests/imported/w3c:

Import changes on the test related to the new behavior.

* web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-021.html:

Source/WebCore:

CSS WG has agreed to modify the track sizing algorithm to include
a new step: https://drafts.csswg.org/css-grid/#algo-stretch
We used to do the stretch of the "auto" tracks at the end of
the track sizing algorithm, however this change integrates it
into the algorithm itself as the last step.
See: https://github.com/w3c/csswg-drafts/issues/1150

The patch moves the method
RenderGrid::applyStretchAlignmentToTracksIfNeeded() to
GridTrackSizingAlgorithm::stretchAutoTracks().
And then modifies the grid track sizing algorithm to execute
the new step.

This patch uses the WPT test updated to check the new behavior.

* rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithm::initializeTrackSizes): Initialize
the list of auto tracks.
(WebCore::GridTrackSizingAlgorithm::stretchFlexibleTracks): Add
early return if there are not flexible tracks.
(WebCore::GridTrackSizingAlgorithm::stretchAutoTracks): Code moved from
RenderGrid::applyStretchAlignmentToTracksIfNeeded().
(WebCore::GridTrackSizingAlgorithm::setup): Reset list of auto tracks.
(WebCore::GridTrackSizingAlgorithm::run): Add new step
stretchAutoTracks().
(WebCore::GridTrackSizingAlgorithm::reset): Reset auto tracks.
* rendering/GridTrackSizingAlgorithm.h: Add m_autoSizedTracksIndex.
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock): Avoid applying stretch here.
(WebCore::RenderGrid::contentAlignmentNormalBehaviorGrid): Make public.
(WebCore::RenderGrid::applyStretchAlignmentToTracksIfNeeded): Moved to
GridTrackSizingAlgorithm::stretchAutoTracks().
* rendering/RenderGrid.h:

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

2 years agoUpdate availability annotations to match the macOS 10.13 and iOS 11.0 GM seed SDKs
mitz@apple.com [Tue, 12 Sep 2017 19:17:35 +0000 (19:17 +0000)]
Update availability annotations to match the macOS 10.13 and iOS 11.0 GM seed SDKs
https://bugs.webkit.org/show_bug.cgi?id=176793

Reviewed by Tim Horton.

Changed WK_MAC_TBA and WK_IOS_TBA to 10.13 and 11.0, respectively, in all declarations that
appear in the GM seed SDKs. Additional changes and exceptions are noted below.

* UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Added missing availability annotation to
  -_webView:dataOwnerForDropSession: and -_webView:dataOwnerForDragSession:.

* UIProcess/API/Cocoa/WKWebViewPrivate.h: Removed rednundant
  __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000 guards.

* UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h: Added missing availability annotation to
  -_setResourceLoadStatisticsTestingCallback:.

* UIProcess/API/Cocoa/_WKFullscreenDelegate.h: Added missing availability annotation.

* UIProcess/API/Cocoa/_WKLinkIconParameters.h: Added availability annotation that had been
  missing since macOS 10.12.3 and iOS 10.3. Corrected annotation for _WKLinkIconParameters.

* UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h: Added missing TBA annotation to
  _resourceLoadStatisticsDirectory.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h: Removed iOS
  availability from macOS-only declaration and vice versa.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.mm:
(-[WKWebProcessPlugInRangeHandle detectDataWithTypes:context:]): Removed an availability
  annotation from this method implementation.

* Shared/API/Cocoa/WKDragDestinationAction.h:
* UIProcess/API/Cocoa/WKContentRuleList.h:
* UIProcess/API/Cocoa/WKContentRuleListStore.h:
* UIProcess/API/Cocoa/WKError.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKHTTPCookieStore.h:
* UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* UIProcess/API/Cocoa/WKSnapshotConfiguration.h:
* UIProcess/API/Cocoa/WKURLSchemeHandler.h:
* UIProcess/API/Cocoa/WKURLSchemeTask.h:
* UIProcess/API/Cocoa/WKURLSchemeTaskPrivate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
* UIProcess/API/Cocoa/WKWebsiteDataStore.h:
* UIProcess/API/Cocoa/WKWindowFeaturesPrivate.h:
* UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
* UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h:
* UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
* UIProcess/API/Cocoa/_WKGeolocationCoreLocationProvider.h:
* UIProcess/API/Cocoa/_WKGeolocationPosition.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKUserContentExtensionStorePrivate.h:
* UIProcess/API/Cocoa/_WKUserContentFilterPrivate.h:
* UIProcess/API/Cocoa/_WKWebsitePolicies.h:
* UIProcess/_WKWebViewPrintFormatter.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInEditingDelegate.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.h:
* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:

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

2 years agoSwitch MediaPlayerPrivateAVFoundation to release logging
eric.carlson@apple.com [Tue, 12 Sep 2017 18:34:22 +0000 (18:34 +0000)]
Switch MediaPlayerPrivateAVFoundation to release logging
https://bugs.webkit.org/show_bug.cgi?id=176621
<rdar://problem/34335311>

Reviewed by Jer Noble.

Source/WebCore:

* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::nullLogger):
(WebCore::MediaPlayer::mediaPlayerLogger):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerLogIdentifier):
(WebCore::MediaPlayerClient::mediaPlayerLogger):
(WebCore::MediaPlayer::mediaPlayerLogIdentifier):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
(WebCore::MediaPlayerPrivateAVFoundation::~MediaPlayerPrivateAVFoundation):
(WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
(WebCore::MediaPlayerPrivateAVFoundation::tearDownVideoRendering):
(WebCore::MediaPlayerPrivateAVFoundation::load):
(WebCore::MediaPlayerPrivateAVFoundation::playabilityKnown):
(WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay):
(WebCore::MediaPlayerPrivateAVFoundation::play):
(WebCore::MediaPlayerPrivateAVFoundation::pause):
(WebCore::MediaPlayerPrivateAVFoundation::durationMediaTime const):
(WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance):
(WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize):
(WebCore::MediaPlayerPrivateAVFoundation::maxMediaTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundation::minMediaTimeSeekable const):
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
(WebCore::MediaPlayerPrivateAVFoundation::rateChanged):
(WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
(WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration):
(WebCore::MediaPlayerPrivateAVFoundation::setPreload):
(WebCore::MediaPlayerPrivateAVFoundation::mainThreadCallback):
(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):
(WebCore::MediaPlayerPrivateAVFoundation::processNewAndRemovedTextTracks):
(WebCore::MediaPlayerPrivateAVFoundation::logChannel const):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(WebCore::MediaPlayerPrivateAVFoundation::logClassName const):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCache):
(WebCore::MediaPlayerPrivateAVFoundationObjC::clearMediaCacheForOrigins):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageGenerator):
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyImageGenerator):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::checkPlayability):
(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMedia const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformPlay):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformPause):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setMuted):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setClosedCaptionsVisible):
(WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect):
(WebCore::MediaPlayerPrivateAVFoundationObjC::getSupportedTypes):
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createOpenGLVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::destroyOpenGLVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
(WebCore::MediaPlayerPrivateAVFoundationObjC::flushCues):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTextTrack):
(WebCore::MediaPlayerPrivateAVFoundationObjC::languageOfPrimaryAudioTrack const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::isCurrentPlaybackTargetWireless const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetName const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessPlaybackTarget):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldPlayToPlaybackTarget):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldBufferData):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(WebCore::boolString): Deleted.

Source/WebCore/PAL:

* pal/Logger.h:
(PAL::LogArgument::toString):
* pal/LoggerHelper.h:

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

2 years agoRemove duplicated test results from LayoutTest platform directories
carlosgc@webkit.org [Tue, 12 Sep 2017 18:01:22 +0000 (18:01 +0000)]
Remove duplicated test results from LayoutTest platform directories
https://bugs.webkit.org/show_bug.cgi?id=176686

Reviewed by Michael Catanzaro.

Tools:

After several rebaselines we might end up with the same result in the platform directory than the common result
without noticing it. This patch adds a script to detect those cases and remove all duplicated results from the
repository.

* Scripts/check-for-duplicated-platform-test-results: Added.
(check_duplicate):
(check_duplicate.sha1):
(platform_list):

LayoutTests:

Remove duplicated results found by Tools/Scripts/check-for-duplicated-platform-test-results.

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

2 years agoThe EWS build system is forcing a non UTF-8 locale and breaks meson.
clopez@igalia.com [Tue, 12 Sep 2017 17:04:31 +0000 (17:04 +0000)]
The EWS build system is forcing a non UTF-8 locale and breaks meson.
https://bugs.webkit.org/show_bug.cgi?id=176761

Reviewed by Michael Catanzaro.

On 2011 in order to disable GCC smartquotes (UTF-8 pretty quotes)
that were causing trouble with the commit-queue server, the tooling
for the EWS bots started to force an LC_ALL=C locale.

This was needed back then apparently because the commit-queue server
was unable to handle properly UTF-8 text.

6 years forward and none of the ports that commit-queue tests before
landing a patch use GCC, but Clang. So this should not be an issue anymore.

Forcing a non UTF-8 locale breaks the Meson build system (that the
GTK/WPE ports use for some dependencies of its JHBuild dependencies
local build system).
It has also the potential to break things in subtle ways that are
hard to debug and detect. So better stop doing this.

This patch also changes TERM=none to TERM=dumb that is the proper
way to disable VT100 codes (see bug 127922).

* Scripts/webkitpy/common/system/environment.py:
(Environment.to_dictionary):
(Environment.disable_jhbuild_VT100_output):
* Scripts/webkitpy/common/system/environment_unittest.py:
(EnvironmentTest.test_disable_jhbuild_VT100_output):
* Scripts/webkitpy/port/base.py:
(Port._build_driver):
(Port._build_image_diff):
* Scripts/webkitpy/port/port_testcase.py:
(PortTestCase.test_build_driver):
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/steps/build.py:
(Build.build):
* Scripts/webkitpy/tool/steps/steps_unittest.py:

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

2 years ago[WPE][GTK] Run tests with G_DEBUG=fatal-criticals
mcatanzaro@igalia.com [Tue, 12 Sep 2017 16:59:24 +0000 (16:59 +0000)]
[WPE][GTK] Run tests with G_DEBUG=fatal-criticals
https://bugs.webkit.org/show_bug.cgi?id=176755

Reviewed by Carlos Garcia Campos.

* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server):
* Scripts/webkitpy/port/wpe.py:
(WPEPort.setup_environ_for_server):

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

2 years agoMarked imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval...
jlewis3@apple.com [Tue, 12 Sep 2017 16:53:48 +0000 (16:53 +0000)]
Marked imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html as flaky on debug macOS and release iOS.
https://bugs.webkit.org/show_bug.cgi?id=172052

Unreviewed test gardening.

* platform/ios/TestExpectations:
* platform/mac/TestExpectations:

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