WebKit-https.git
3 years agoUpdate DOMCoreException to use the description in toString().
beidson@apple.com [Sun, 17 Jul 2016 16:47:55 +0000 (16:47 +0000)]
Update DOMCoreException to use the description in toString().
https://bugs.webkit.org/show_bug.cgi?id=159857

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader-and-arguments-expected.txt:
* web-platform-tests/XMLHttpRequest/send-non-same-origin.sub-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-bogus-name-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-bogus-value-expected.txt:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-block-defer-scripts-expected.txt:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-block-scripts-expected.txt:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-not-hang-scriptloader-expected.txt:
* web-platform-tests/XMLHttpRequest/xmlhttprequest-timeout-worker-synconworker-expected.txt:
* web-platform-tests/dom/events/ProgressEvent-expected.txt:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/dom/nodes/Document-createElementNS-expected.txt:
* web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
* web-platform-tests/dom/nodes/Element-closest-expected.txt:
* web-platform-tests/dom/nodes/Element-matches-expected.txt:
* web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
* web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt:
* web-platform-tests/dom/nodes/insert-adjacent-expected.txt:
* web-platform-tests/domparsing/createContextualFragment-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/volume_nonfinite-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/range-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
* web-platform-tests/html/semantics/forms/the-meter-element/meter-expected.txt:

Source/WebCore:

No new tests (Covered by changes to existing tests).

* bindings/js/JSDOMBinding.cpp:
(WebCore::createDOMException):

* dom/DOMCoreException.h:
(WebCore::DOMCoreException::DOMCoreException):
(WebCore::DOMCoreException::createWithDescriptionAsMessage): Deleted.

LayoutTests:

* canvas/philip/tests/2d.missingargs.html:
* crypto/crypto-random-values-limits-expected.txt:
* crypto/crypto-random-values-types-expected.txt:
* crypto/subtle/aes-cbc-wrong-key-class-expected.txt:
* crypto/subtle/aes-kw-key-manipulation-expected.txt:
* crypto/subtle/argument-conversion-expected.txt:
* crypto/subtle/hmac-check-algorithm-expected.txt:
* crypto/subtle/hmac-generate-key-expected.txt:
* crypto/subtle/rsa-oaep-key-manipulation-expected.txt:
* crypto/subtle/sha-1-expected.txt:
* crypto/subtle/unwrapKey-check-usage-expected.txt:
* crypto/subtle/wrapKey-check-usage-expected.txt:
* css3/supports-cssom-expected.txt:
* editing/pasteboard/data-transfer-items-expected.txt:
* editing/selection/extend-expected.txt:
* fast/canvas/canvas-createImageData-expected.txt:
* fast/canvas/canvas-ellipse-negative-radius-expected.txt:
* fast/canvas/canvas-getImageData-invalid-expected.txt:
* fast/canvas/canvas-getImageData-invalid-result-buffer-crash-expected.txt:
* fast/canvas/canvas-gradient-addStop-error-expected.txt:
* fast/canvas/canvas-imageData-expected.txt:
* fast/canvas/canvas-overloads-drawImage-expected.txt:
* fast/canvas/canvas-pattern-behaviour-expected.txt:
* fast/canvas/gradient-addColorStop-with-invalid-color-expected.txt:
* fast/canvas/script-tests/canvas-createImageData.js:
* fast/canvas/script-tests/canvas-getImageData-invalid.js:
* fast/canvas/script-tests/canvas-imageData.js:
* fast/canvas/script-tests/canvas-overloads-drawImage.js:
* fast/canvas/script-tests/gradient-addColorStop-with-invalid-color.js:
* fast/css/CSSPrimitiveValue-exceptions-expected.txt:
* fast/css/css3-nth-tokens-script-expected.txt:
* fast/css/css3-nth-tokens-script.html:
* fast/css/getFloatValueForUnit-expected.txt:
* fast/css/getFloatValueForUnit.html:
* fast/css/insert-rule-overflow-rule-data-expected.txt:
* fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt:
* fast/css/parsing-css-attribute-case-insensitive-value-2-expected.txt:
* fast/css/parsing-css-attribute-case-insensitive-value-3-expected.txt:
* fast/css/parsing-css-attribute-case-insensitive-value-3.html:
* fast/css/parsing-css-descendant-combinator-doubled-child-syntax-expected.txt:
* fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html:
* fast/css/parsing-css-matches-5-expected.txt:
* fast/css/parsing-css-matches-5.html:
* fast/css/parsing-css-matches-6-expected.txt:
* fast/css/parsing-css-matches-6.html:
* fast/css/parsing-css-matches-7-expected.txt:
* fast/css/parsing-css-matches-7.html:
* fast/css/parsing-css-matches-8-expected.txt:
* fast/css/parsing-css-matches-8.html:
* fast/css/parsing-css-not-5-expected.txt:
* fast/css/parsing-css-not-5.html:
* fast/css/parsing-css-not-6-expected.txt:
* fast/css/parsing-css-not-6.html:
* fast/css/parsing-css-not-7-expected.txt:
* fast/css/parsing-css-not-7.html:
* fast/css/parsing-css-not-8-expected.txt:
* fast/css/parsing-css-not-8.html:
* fast/css/parsing-css-not-9-expected.txt:
* fast/css/parsing-css-not-9.html:
* fast/css/parsing-css-nth-child-of-3-expected.txt:
* fast/css/parsing-css-nth-child-of-3.html:
* fast/css/parsing-css-nth-child-of-4-expected.txt:
* fast/css/parsing-css-nth-child-of-4.html:
* fast/css/parsing-css-nth-last-child-of-3-expected.txt:
* fast/css/parsing-css-nth-last-child-of-3.html:
* fast/css/parsing-css-nth-last-child-of-4-expected.txt:
* fast/css/parsing-css-nth-last-child-of-4.html:
* fast/css/resources/CSSPrimitiveValue-exceptions.js:
* fast/dom/DOMException/prototype-object-expected.txt:
* fast/dom/DOMException/prototype-object.html:
* fast/dom/DOMException/stack-trace-expected.txt:
* fast/dom/DOMException/stack-trace.html:
* fast/dom/Document/createElement-invalid-names-expected.txt:
* fast/dom/Document/createElement-invalid-names.html:
* fast/dom/Document/invalid-domain-change-throws-exception-expected.txt:
* fast/dom/Document/replace-child-expected.txt:
* fast/dom/Document/script-tests/invalid-domain-change-throws-exception.js:
* fast/dom/Element/class-list-toggle-expected.txt:
* fast/dom/Element/class-list-toggle.html:
* fast/dom/Element/prefix-setter-exception-expected.txt:
* fast/dom/Geolocation/argument-types-expected.txt:
* fast/dom/Geolocation/not-enough-arguments-expected.txt:
* fast/dom/Geolocation/script-tests/argument-types.js:
(test):
* fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
* fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
* fast/dom/HTMLElement/set-invalid-value-expected.txt:
* fast/dom/HTMLElement/set-invalid-value.html:
* fast/dom/HTMLInputElement/input-size-attribute-expected.txt:
* fast/dom/HTMLInputElement/input-size-attribute.html:
* fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js:
* fast/dom/HTMLMeterElement/set-meter-properties-expected.txt:
* fast/dom/HTMLProgressElement/script-tests/set-progress-properties.js:
* fast/dom/HTMLProgressElement/set-progress-properties-expected.txt:
* fast/dom/HTMLSelectElement/options-collection-add-expected.txt:
* fast/dom/HTMLSelectElement/select-add-optgroup-expected.txt:
* fast/dom/HTMLSelectElement/select-selectedIndex-expected.txt:
* fast/dom/HTMLSelectElement/select-selectedIndex-multiple-expected.txt:
* fast/dom/HTMLTableElement/nullable-attributes-expected.txt:
* fast/dom/HTMLTableElement/nullable-attributes.html:
* fast/dom/HTMLTemplateElement/cycles-expected.txt:
* fast/dom/HTMLTemplateElement/cycles-in-shadow-expected.txt:
* fast/dom/Node/initial-values-expected.txt:
* fast/dom/ParentNode-append-expected.txt:
* fast/dom/ParentNode-prepend-expected.txt:
* fast/dom/Range/31684-expected.txt:
* fast/dom/Range/clone-contents-document-type-expected.txt:
* fast/dom/Range/clone-contents-document-type.html:
* fast/dom/Range/compareBoundaryPoints-1.html:
* fast/dom/Range/compareBoundaryPoints-compareHow-exception-expected.txt:
* fast/dom/Range/compareBoundaryPoints-compareHow-exception.html:
* fast/dom/Range/extract-contents-document-type-expected.txt:
* fast/dom/Range/extract-contents-document-type.html:
* fast/dom/Range/range-comparePoint-detached-nodes-expected.txt:
* fast/dom/Range/range-comparePoint-detached-nodes.html:
* fast/dom/Range/range-exceptions-expected.txt:
* fast/dom/Range/range-intersectsNode-expected.txt:
* fast/dom/Range/script-tests/31684.js:
* fast/dom/Range/script-tests/range-exceptions.js:
* fast/dom/Range/surroundContents-1.html:
* fast/dom/Selection/collapseToX-empty-selection-expected.txt:
* fast/dom/Selection/script-tests/collapseToX-empty-selection.js:
* fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
* fast/dom/SelectorAPI/dumpNodeList-expected.txt:
* fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
* fast/dom/Text/splitText-expected.txt:
* fast/dom/Text/splitText.html:
* fast/dom/Window/anonymous-slot-with-changes-expected.txt:
* fast/dom/Window/atob-btoa-expected.txt:
* fast/dom/Window/custom-constructors-expected.txt:
* fast/dom/Window/dispatchEvent-expected.txt:
* fast/dom/Window/invalid-protocol-expected.txt:
* fast/dom/Window/window-postmessage-clone-expected.txt:
* fast/dom/computed-style-set-property-expected.txt:
* fast/dom/createElementNS-namespace-errors-expected.txt:
* fast/dom/createElementNS-namespace-errors.html:
* fast/dom/css-mediarule-functions-expected.txt:
* fast/dom/css-mediarule-functions.html:
* fast/dom/custom/document-register-basic-expected.txt:
* fast/dom/custom/document-register-basic.html:
* fast/dom/custom/document-register-type-extensions-expected.txt:
* fast/dom/custom/document-register-type-extensions.html:
* fast/dom/dataset-expected.txt:
* fast/dom/dataset-xhtml-expected.txt:
* fast/dom/document-set-body-null-expected.txt:
* fast/dom/document-set-body-null.html:
* fast/dom/element-attribute-js-null-expected.txt:
* fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
* fast/dom/node-prefix-setter-namespace-exception-expected.txt:
* fast/dom/outerText-no-element-expected.txt:
* fast/dom/processing-instruction-appendChild-exceptions-expected.txt:
* fast/dom/processing-instruction-appendChild-exceptions.xhtml:
* fast/dom/rel-list-expected.txt:
* fast/dom/script-tests/dataset-xhtml.js:
* fast/dom/script-tests/dataset.js:
* fast/dom/setAttributeNS-namespace-errors-expected.txt:
* fast/dom/setAttributeNS-namespace-errors.html:
* fast/dom/setPrimitiveValue-exceptions-expected.txt:
* fast/dom/setPrimitiveValue-expected.txt:
* fast/dynamic/insertAdjacentElement-expected.txt:
* fast/dynamic/insertAdjacentHTML-expected.txt:
* fast/dynamic/insertAdjacentText-expected.txt:
* fast/dynamic/outerHTML-no-element-expected.txt:
* fast/events/dispatch-event-being-dispatched-expected.txt:
* fast/events/dispatch-event-being-dispatched.html:
* fast/events/message-port-clone-expected.txt:
* fast/events/message-port-multi-expected.txt:
* fast/events/mutation-during-append-child-expected.txt:
* fast/events/mutation-during-append-child.html:
* fast/events/mutation-during-insert-before-expected.txt:
* fast/events/mutation-during-insert-before.html:
* fast/events/mutation-during-replace-child-2-expected.txt:
* fast/events/mutation-during-replace-child-2.html:
* fast/events/mutation-during-replace-child-expected.txt:
* fast/events/mutation-during-replace-child.html:
* fast/eventsource/eventsource-constructor-expected.txt:
* fast/forms/color/color-setrangetext-expected.txt:
* fast/forms/date/date-setrangetext-expected.txt:
* fast/forms/date/date-stepup-stepdown-expected.txt:
* fast/forms/date/date-stepup-stepdown.html:
* fast/forms/date/input-valueasnumber-date-expected.txt:
* fast/forms/date/input-valueasnumber-date.html:
* fast/forms/datetime/datetime-setrangetext-expected.txt:
* fast/forms/datetime/datetime-stepup-stepdown-expected.txt:
* fast/forms/datetime/datetime-stepup-stepdown.html:
* fast/forms/datetime/input-valueasnumber-datetime-expected.txt:
* fast/forms/datetime/input-valueasnumber-datetime.html:
* fast/forms/datetimelocal/datetimelocal-setrangetext-expected.txt:
* fast/forms/datetimelocal/datetimelocal-stepup-stepdown-expected.txt:
* fast/forms/datetimelocal/datetimelocal-stepup-stepdown.html:
* fast/forms/datetimelocal/input-valueasnumber-datetimelocal-expected.txt:
* fast/forms/datetimelocal/input-valueasnumber-datetimelocal.html:
* fast/forms/file/file-setrangetext-expected.txt:
* fast/forms/file/input-file-value-expected.txt:
* fast/forms/hidden/hidden-setrangetext-expected.txt:
* fast/forms/image/image-setrangetext-expected.txt:
* fast/forms/input-maxlength-expected.txt:
* fast/forms/input-maxlength.html:
* fast/forms/input-stepup-stepdown-expected.txt:
* fast/forms/input-stepup-stepdown.html:
* fast/forms/input-valueasnumber-unsupported-expected.txt:
* fast/forms/input-valueasnumber-unsupported.html:
* fast/forms/month/input-valueasdate-expected.txt:
* fast/forms/month/input-valueasdate.html:
* fast/forms/month/input-valueasnumber-month-expected.txt:
* fast/forms/month/input-valueasnumber-month.html:
* fast/forms/month/month-setrangetext-expected.txt:
* fast/forms/month/month-stepup-stepdown-expected.txt:
* fast/forms/month/month-stepup-stepdown.html:
* fast/forms/number/number-setrangetext-expected.txt:
* fast/forms/number/number-size-expected.txt:
* fast/forms/number/number-size.html:
* fast/forms/number/number-stepup-stepdown-expected.txt:
* fast/forms/number/number-stepup-stepdown-from-renderer.html:
* fast/forms/number/number-stepup-stepdown.html:
* fast/forms/number/number-valueasnumber-expected.txt:
* fast/forms/number/number-valueasnumber.html:
* fast/forms/range/input-valueasnumber-range-expected.txt:
* fast/forms/range/input-valueasnumber-range.html:
* fast/forms/range/range-setrangetext-expected.txt:
* fast/forms/range/range-stepup-stepdown-expected.txt:
* fast/forms/range/range-stepup-stepdown-from-renderer.html:
* fast/forms/range/range-stepup-stepdown.html:
* fast/forms/search/search-setrangetext-expected.txt:
* fast/forms/setrangetext-expected.txt:
* fast/forms/textarea-maxlength-expected.txt:
* fast/forms/textarea-maxlength.html:
* fast/forms/textarea/textarea-setrangetext-expected.txt:
* fast/forms/time/time-setrangetext-expected.txt:
* fast/forms/time/time-stepup-stepdown-expected.txt:
* fast/forms/time/time-stepup-stepdown.html:
* fast/forms/time/time-valueasnumber-expected.txt:
* fast/forms/time/time-valueasnumber.html:
* fast/forms/week/input-valueasnumber-week-expected.txt:
* fast/forms/week/input-valueasnumber-week.html:
* fast/forms/week/week-setrangetext-expected.txt:
* fast/forms/week/week-stepup-stepdown-expected.txt:
* fast/forms/week/week-stepup-stepdown.html:
* fast/frames/adopt-iframe-into-itself-expected.txt:
* fast/frames/adopt-object-into-itself-expected.txt:
* fast/frames/resources/sandboxed-iframe-storage-disallowed.html:
* fast/frames/sandboxed-iframe-storage-expected.txt:
* fast/html/marquee-element-expected.txt:
* fast/innerHTML/innerHTML-changing-document-properties-expected.txt:
* fast/inspector-support/uncaught-dom1-exception-expected.txt:
* fast/inspector-support/uncaught-dom3-exception-expected.txt:
* fast/inspector-support/uncaught-dom8-exception-expected.txt:
* fast/loader/stateobjects/pushstate-frequency-expected.txt:
* fast/loader/stateobjects/pushstate-frequency-iframe-expected.txt:
* fast/loader/stateobjects/replacestate-frequency-expected.txt:
* fast/loader/stateobjects/replacestate-frequency-iframe-expected.txt:
* fast/media/mq-js-media-except-01-expected.html:
* fast/media/mq-js-media-except-02-expected.html:
* fast/media/mq-js-media-except-03-expected.html:
* fast/mediastream/MediaDevices-getUserMedia-expected.txt:
* fast/mediastream/RTCPeerConnection-addIceCandidate-expected.txt:
* fast/mediastream/RTCPeerConnection-closed-state-expected.txt:
* fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
* fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
* fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
* fast/mediastream/RTCPeerConnection-dtmf-expected.txt:
* fast/mediastream/RTCPeerConnection-have-local-offer-expected.txt:
* fast/mediastream/RTCPeerConnection-have-remote-offer-expected.txt:
* fast/mediastream/RTCPeerConnection-setLocalDescription-offer-expected.txt:
* fast/mediastream/RTCPeerConnection-setRemoteDescription-offer-expected.txt:
* fast/mediastream/RTCPeerConnection-stable-expected.txt:
* fast/mediastream/RTCRtpSender-replaceTrack-expected.txt:
* fast/notifications/notifications-document-close-crash-expected.txt:
* fast/regions/selection/crash-deselect-expected.txt:
* fast/selectors/closest-general-expected.txt:
* fast/selectors/invalid-functional-pseudo-class-expected.txt:
* fast/selectors/lang-empty-expected.txt:
* fast/selectors/lang-extended-filtering-expected.txt:
* fast/selectors/lang-extended-filtering-with-string-arguments-expected.txt:
* fast/selectors/lang-invalid-expected.txt:
* fast/selectors/lang-multiple-expected.txt:
* fast/selectors/querySelector-pseudo-element-inside-functional-pseudo-class-not-expected.txt:
* fast/text/font-face-empty-string-expected.txt:
* fast/text/font-face-javascript-expected.txt:
* fast/text/font-face-set-javascript-expected.txt:
* fast/text/text-combine-crash-expected.txt:
* fast/workers/atob-btoa-expected.txt:
* fast/workers/worker-constructor-expected.txt:
* fast/workers/worker-context-multi-port-expected.txt:
* fast/workers/worker-multi-port-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-responsetype-document-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-responsetype-set-at-headers-received-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-responsetype-text-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-sync-disabled-expected.txt:
* fast/xpath/attr-namespace-expected.txt:
* fast/xpath/detached-subtree-invalidate-iterator-expected.txt:
* fast/xpath/py-dom-xpath/nodetests-expected.txt:
* http/tests/contentextensions/sync-xhr-blocked-expected.txt:
* http/tests/loading/state-object-security-exception-expected.txt:
* http/tests/local/fileapi/send-sliced-dragged-file-expected.txt:
* http/tests/notifications/legacy/show-expected.txt:
* http/tests/security/canvas-remote-read-data-url-image-redirect-expected.txt:
* http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin-expected.txt:
* http/tests/security/canvas-remote-read-remote-image-expected.txt:
* http/tests/security/canvas-remote-read-remote-image-redirect-expected.txt:
* http/tests/security/canvas-remote-read-remote-video-blocked-no-crossorigin-expected.txt:
* http/tests/security/canvas-remote-read-remote-video-localhost-expected.txt:
* http/tests/security/canvas-remote-read-remote-video-redirect-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/child-src/worker-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/connect-src-xmlhttprequest-blocked.html:
* http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-block-aborts-all-subsequent-imports-expected.txt:
* http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/worker-csp-blocks-xhr-redirect-cross-origin-expected.txt:
* http/tests/security/contentSecurityPolicy/worker-csp-importScripts-redirect-cross-origin-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/worker-importscripts-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/worker-importscripts-blocked.html:
* http/tests/security/history-username-password-expected.txt:
* http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
* http/tests/security/postMessage/target-origin-expected.txt:
* http/tests/security/resources/canvas-video-crossorigin.js:
(testDataRetrievalAllowed):
(testDataRetrievalForbidden):
* http/tests/security/setDomainRelaxationForbiddenForURLScheme-expected.txt:
* http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin-expected.txt:
* http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt:
* http/tests/websocket/tests/hybi/bad-sub-protocol-empty-expected.txt:
* http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
* http/tests/websocket/tests/hybi/binary-type-expected.txt:
* http/tests/websocket/tests/hybi/binary-type.html:
* http/tests/websocket/tests/hybi/invalid-subprotocol-characters-expected.txt:
* http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html:
* http/tests/websocket/tests/hybi/invalid-subprotocols-expected.txt:
* http/tests/websocket/tests/hybi/invalid-subprotocols.html:
* http/tests/websocket/tests/hybi/url-parsing-expected.txt:
* http/tests/workers/worker-importScripts-expected.txt:
* http/tests/workers/worker-redirect-expected.txt:
* http/tests/xmlhttprequest/XMLHttpRequestException-expected.txt:
* http/tests/xmlhttprequest/XMLHttpRequestException.html:
* http/tests/xmlhttprequest/access-control-and-redirects-expected.txt:
* http/tests/xmlhttprequest/access-control-basic-denied-expected.txt:
* http/tests/xmlhttprequest/access-control-basic-get-fail-non-simple-expected.txt:
* http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached-expected.txt:
* http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type-expected.txt:
* http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-expected.txt:
* http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard-expected.txt:
* http/tests/xmlhttprequest/connection-error-sync-expected.txt:
* http/tests/xmlhttprequest/cross-origin-no-authorization-expected.txt:
* http/tests/xmlhttprequest/exceptions-expected.txt:
* http/tests/xmlhttprequest/inject-header-expected.txt:
* http/tests/xmlhttprequest/origin-exact-matching-expected.txt:
* http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt:
* http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains-expected.txt:
* http/tests/xmlhttprequest/origin-whitelisting-removal-expected.txt:
* http/tests/xmlhttprequest/workers/access-control-basic-get-fail-non-simple-expected.txt:
* http/tests/xmlhttprequest/xmlhttprequest-open-empty-method-expected.txt:
* http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-invalidstaterror-expected.txt:
* http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name-expected.txt:
* http/tests/xmlhttprequest/xmlhttprequest-sync-no-progress-events-expected.txt:
* http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect-expected.txt:
* inspector/debugger/command-line-api-exception-expected.txt:
* inspector/debugger/regress-133182-expected.txt:
* inspector/debugger/resources/exceptions.js:
(triggerUncaughtDOMException):
* inspector/debugger/setPauseOnExceptions-all-expected.txt:
* inspector/debugger/setPauseOnExceptions-none-expected.txt:
* inspector/debugger/setPauseOnExceptions-uncaught-expected.txt:
* inspector/model/remote-object-expected.txt:
* js/dom/dfg-custom-getter-throw-expected.txt:
* js/dom/reflect-set-onto-dom-expected.txt:
* js/dom/script-tests/dfg-custom-getter-throw-inlined.js:
(i.dfgIncrement):
* js/dom/script-tests/dfg-custom-getter-throw.js:
* loader/stateobjects/pushstate-size-expected.txt:
* loader/stateobjects/pushstate-size-iframe-expected.txt:
* loader/stateobjects/replacestate-size-expected.txt:
* loader/stateobjects/replacestate-size-iframe-expected.txt:
* media/track/regions-webvtt/vtt-region-constructor-expected.txt:
* media/track/regions-webvtt/vtt-region-list-expected.txt:
* platform/efl/fast/dynamic/015-expected.txt:
* platform/gtk/fast/dynamic/015-expected.txt:
* platform/ios-simulator-wk2/editing/selection/caret-ltr-2-expected.txt:
* platform/ios-simulator-wk2/editing/selection/caret-ltr-2-left-expected.txt:
* platform/ios-simulator-wk2/editing/selection/caret-ltr-expected.txt:
* platform/ios-simulator-wk2/editing/selection/caret-ltr-right-expected.txt:
* platform/ios-simulator-wk2/editing/selection/caret-rtl-2-expected.txt:
* platform/ios-simulator-wk2/editing/selection/caret-rtl-2-left-expected.txt:
* platform/ios-simulator-wk2/editing/selection/caret-rtl-expected.txt:
* platform/ios-simulator-wk2/editing/selection/caret-rtl-right-expected.txt:
* platform/ios-simulator/fast/attachment/attachment-select-on-click-expected.txt:
* platform/ios-simulator/fast/dynamic/015-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
* platform/ios-simulator/webaudio/analyser-exception-expected.txt:
* platform/ios-simulator/webaudio/audiobuffersource-exception-expected.txt:
* platform/ios-simulator/webaudio/delaynode-maxdelaylimit-expected.txt:
* platform/mac/TestExpectations:
* platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
* platform/mac/fast/dynamic/015-expected.txt:
* platform/mac/inspector/model/remote-object-expected.txt:
* platform/win/fast/dynamic/015-expected.txt:
* security/contentSecurityPolicy/worker-inherits-blocks-xhr-expected.txt:
* storage/domstorage/localstorage/blocked-file-access-expected.txt:
* storage/domstorage/localstorage/private-browsing-affects-storage-expected.txt:
* storage/domstorage/sessionstorage/private-browsing-affects-storage-expected.txt:
* storage/indexeddb/removed-expected.txt:
* storage/indexeddb/removed-private-expected.txt:
* storage/websql/open-database-set-empty-version-expected.txt:
* svg/animations/animate-gradient-transform-expected.txt:
* svg/as-image/svg-canvas-pattern-with-link-tainted-expected.txt:
* svg/as-image/svg-canvas-svg-with-feimage-with-link-tainted-expected.txt:
* svg/as-image/svg-canvas-svg-with-image-with-link-tainted-expected.txt:
* svg/as-image/svg-canvas-xhtml-tainted-expected.txt:
* svg/custom/acid3-test-77-expected.txt:
* svg/custom/baseval-animval-equality-expected.txt:
* svg/custom/getSubStringLength-expected.txt:
* svg/custom/selectSubString-expected.txt:
* svg/dom/SVGAngle-expected.txt:
* svg/dom/SVGColor-expected.txt:
* svg/dom/SVGLength-expected.txt:
* svg/dom/SVGLength-px-expected.txt:
* svg/dom/SVGLengthList-appendItem-expected.txt:
* svg/dom/SVGLengthList-basics-expected.txt:
* svg/dom/SVGLengthList-getItem-expected.txt:
* svg/dom/SVGLengthList-initialize-expected.txt:
* svg/dom/SVGLengthList-insertItemBefore-expected.txt:
* svg/dom/SVGLengthList-removeItem-expected.txt:
* svg/dom/SVGLengthList-replaceItem-expected.txt:
* svg/dom/SVGNumberList-basics-expected.txt:
* svg/dom/SVGPaint-expected.txt:
* svg/dom/SVGPathSegList-clear-and-initialize-expected.txt:
* svg/dom/SVGPointList-basics-expected.txt:
* svg/dom/SVGPreserveAspectRatio-expected.txt:
* svg/dom/SVGStringList-basics-expected.txt:
* svg/dom/SVGTransformList-basics-expected.txt:
* svg/dom/SVGTransformList-expected.txt:
* svg/dom/SVGViewSpec-defaults-expected.txt:
* svg/dom/altGlyph-dom-expected.txt:
* svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
* transforms/cssmatrix-2d-interface-expected.txt:
* transforms/cssmatrix-3d-interface-expected.txt:
* webaudio/analyser-exception-expected.txt:
* webaudio/analyser-exception.html:
* webaudio/audiobuffersource-channels-expected.txt:
* webaudio/audiobuffersource-exception-expected.txt:
* webaudio/audiobuffersource-exception.html:
* webaudio/convolver-channels-expected.txt:
* webaudio/convolver-channels.html:
* webaudio/convolver-setBuffer-different-samplerate-expected.txt:
* webaudio/convolver-setBuffer-different-samplerate.html:
* webaudio/delaynode-maxdelaylimit-expected.txt:
* webaudio/offlineaudiocontext-constructor-expected.txt:

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

3 years ago[JSC] Enable test262 module tests
utatane.tea@gmail.com [Sun, 17 Jul 2016 14:39:12 +0000 (14:39 +0000)]
[JSC] Enable test262 module tests
https://bugs.webkit.org/show_bug.cgi?id=159854

Reviewed by Saam Barati.

Source/JavaScriptCore:

This patch enables test262 module tests. Before this patch, the modules tests in test262 do not work fine.
This patch fixes the following 2 things.

1. Test harness

    Before this patch, there is only one global switch "-m" in jsc shell. So we cannot load the test262 test harness before evaluating the module tests.
    This patch adds a new option, "--module-file=". It is similar to "--strict-file=". When we specify the file with "--module-file=", it is evaluated as
    a module, while the other files are evaluated by following the JSC's default manner. This option allows us to load the test harness files into the
    global context before loading the module tests.

2. Module's asynchronous errors

    Before this patch, the errors caused in the module evaluation are not handled as the same to the usual sync files. In synchronous execution, we have
    "--exception=" option to pass the expected exception to the JSC shell. But this option does not work in the module evaluation.
    This patch correctly handles this expected exception in the module evaluation promise's fulfill and reject handlers.

And we fix the YAML file. Now the recorded :fail and :normal are the correct test results for the module tests.

* jsc.cpp:
(Script::Script):
(checkUncaughtException):
(runWithScripts):
(printUsageStatement):
(CommandLine::parseArguments):
(dumpException): Deleted.
* tests/test262.yaml:

Tools:

Use --module-file instead.

* Scripts/run-jsc-stress-tests:

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

3 years ago[JSC] Mask TrustedImm32 to 8bit in MacroAssembler for 8bit operations
utatane.tea@gmail.com [Sun, 17 Jul 2016 14:33:26 +0000 (14:33 +0000)]
[JSC] Mask TrustedImm32 to 8bit in MacroAssembler for 8bit operations
https://bugs.webkit.org/show_bug.cgi?id=159334

Reviewed by Filip Pizlo.

Previously, in 8bit operations (like add8, compare8, test8, branch8, branchTest8 etc.),
we require that the given TrustedImm32 is in range of 8bit. While achieving this in
the manual MacroAssembler calling is easy, in Air, we don't guarantee that the higher bit
of the 8bit argument is cleared. So the current assertions are invalid.

This patch relaxes the above restriction. By removing this assertion,
8bit operations can take arbitrary 32bit imms. And only lower 8bit are effective when
emitting the code in these methods.

* assembler/MacroAssembler.h:
(JSC::MacroAssembler::branchTest8):
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::store8):
(JSC::MacroAssemblerARM::branch8):
(JSC::MacroAssemblerARM::branchTest8):
(JSC::MacroAssemblerARM::compare8):
(JSC::MacroAssemblerARM::test8):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::store8):
(JSC::MacroAssemblerARM64::branch8):
(JSC::MacroAssemblerARM64::branchTest8):
(JSC::MacroAssemblerARM64::compare8):
(JSC::MacroAssemblerARM64::test8):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::store8):
(JSC::MacroAssemblerARMv7::branch8):
(JSC::MacroAssemblerARMv7::branchTest8):
(JSC::MacroAssemblerARMv7::compare8):
(JSC::MacroAssemblerARMv7::test8):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::store8):
(JSC::MacroAssemblerMIPS::branch8):
(JSC::MacroAssemblerMIPS::compare8):
(JSC::MacroAssemblerMIPS::branchTest8):
(JSC::MacroAssemblerMIPS::test8):
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::store8):
(JSC::MacroAssemblerSH4::branchTest8):
(JSC::MacroAssemblerSH4::branch8):
(JSC::MacroAssemblerSH4::compare8):
(JSC::MacroAssemblerSH4::test8):
* assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::store8):
(JSC::MacroAssemblerX86::branch8):
(JSC::MacroAssemblerX86::branchTest8):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::add8):
(JSC::MacroAssemblerX86Common::store8):
(JSC::MacroAssemblerX86Common::branch8):
(JSC::MacroAssemblerX86Common::branchTest8):
(JSC::MacroAssemblerX86Common::compare8):
(JSC::MacroAssemblerX86Common::test8):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::store8):
(JSC::MacroAssemblerX86_64::branch8):
(JSC::MacroAssemblerX86_64::branchTest8):

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

3 years agoSupport new emoji group candidates
mmaxfield@apple.com [Sun, 17 Jul 2016 07:16:03 +0000 (07:16 +0000)]
Support new emoji group candidates
https://bugs.webkit.org/show_bug.cgi?id=159755
<rdar://problem/27325521>

Reviewed by Dean Jackson.

Source/WebCore:

There are a few code points which should be able to be joined (with ZWJ) to
either U+2640 or U+2642 to change the gender of the emoji. These patterns
should also work with an additional 0xFE0F variation selector. This patch
adds these new patterns to our existing emoji group candidate infrastructure.

Tests: fast/text/emoji-gender-2-3.html
       fast/text/emoji-gender-2-4.html
       fast/text/emoji-gender-2-5.html
       fast/text/emoji-gender-2-6.html
       fast/text/emoji-gender-2-7.html
       fast/text/emoji-gender-2-8.html
       fast/text/emoji-gender-2-9.html
       fast/text/emoji-gender-2.html
       fast/text/emoji-gender-3.html
       fast/text/emoji-gender-4.html
       fast/text/emoji-gender-5.html
       fast/text/emoji-gender-6.html
       fast/text/emoji-gender-7.html
       fast/text/emoji-gender-8.html
       fast/text/emoji-gender-9.html
       fast/text/emoji-gender-fe0f-3.html
       fast/text/emoji-gender-fe0f-4.html
       fast/text/emoji-gender-fe0f-5.html
       fast/text/emoji-gender-fe0f-6.html
       fast/text/emoji-gender-fe0f-7.html
       fast/text/emoji-gender-fe0f-8.html
       fast/text/emoji-gender-fe0f-9.html
       fast/text/emoji-gender.html
       fast/text/emoji-num-glyphs.html
       fast/text/emoji-single-parent-family-2.html
       fast/text/emoji-single-parent-family.html

* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Removed incorrect ASSERT()s.
* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::characterRangeCodePath):
* platform/text/CharacterProperties.h:
(WebCore::isEmojiGroupCandidate):

Source/WTF:

This patch doesn't update the rules for our cursor movement iterator, because
I don't know the language used for implementing these rules. These rules will
be updated in the near future. When they do,
editing/deleting/delete-emoji-expected.txt will need to be updated.

* wtf/text/TextBreakIterator.cpp:
(WTF::cursorMovementIterator):

LayoutTests:

Because this patch doesn't update the rules for our cursor movement
iterator, the new expected result for editing/deleting/delete-emoji.html
expects incorrect results. In the patch where we update these rules,
the expected result should also be updated.

Because these new emoji require system support, TestExpectations has
been updated to mark the tests as failing until the system support has
been added.

* TestExpectations:
* editing/deleting/delete-emoji-expected.txt:
* fast/text/emoji-gender-2-3-expected.html: Added.
* fast/text/emoji-gender-2-3.html: Added.
* fast/text/emoji-gender-2-4-expected.html: Added.
* fast/text/emoji-gender-2-4.html: Added.
* fast/text/emoji-gender-2-5-expected.html: Added.
* fast/text/emoji-gender-2-5.html: Added.
* fast/text/emoji-gender-2-6-expected.html: Added.
* fast/text/emoji-gender-2-6.html: Added.
* fast/text/emoji-gender-2-7-expected.html: Added.
* fast/text/emoji-gender-2-7.html: Added.
* fast/text/emoji-gender-2-8-expected.html: Added.
* fast/text/emoji-gender-2-8.html: Added.
* fast/text/emoji-gender-2-9-expected.html: Added.
* fast/text/emoji-gender-2-9.html: Added.
* fast/text/emoji-gender-2-expected-mismatch.html: Added.
* fast/text/emoji-gender-2.html: Added.
* fast/text/emoji-gender-3-expected.html: Added.
* fast/text/emoji-gender-3.html: Added.
* fast/text/emoji-gender-4-expected.html: Added.
* fast/text/emoji-gender-4.html: Added.
* fast/text/emoji-gender-5-expected.html: Added.
* fast/text/emoji-gender-5.html: Added.
* fast/text/emoji-gender-6-expected.html: Added.
* fast/text/emoji-gender-6.html: Added.
* fast/text/emoji-gender-7-expected.html: Added.
* fast/text/emoji-gender-7.html: Added.
* fast/text/emoji-gender-8-expected.html: Added.
* fast/text/emoji-gender-8.html: Added.
* fast/text/emoji-gender-9-expected.html: Added.
* fast/text/emoji-gender-9.html: Added.
* fast/text/emoji-gender-expected-mismatch.html: Added.
* fast/text/emoji-gender-fe0f-3-expected.html: Added.
* fast/text/emoji-gender-fe0f-3.html: Added.
* fast/text/emoji-gender-fe0f-4-expected.html: Added.
* fast/text/emoji-gender-fe0f-4.html: Added.
* fast/text/emoji-gender-fe0f-5-expected.html: Added.
* fast/text/emoji-gender-fe0f-5.html: Added.
* fast/text/emoji-gender-fe0f-6-expected.html: Added.
* fast/text/emoji-gender-fe0f-6.html: Added.
* fast/text/emoji-gender-fe0f-7-expected.html: Added.
* fast/text/emoji-gender-fe0f-7.html: Added.
* fast/text/emoji-gender-fe0f-8-expected.html: Added.
* fast/text/emoji-gender-fe0f-8.html: Added.
* fast/text/emoji-gender-fe0f-9-expected.html: Added.
* fast/text/emoji-gender-fe0f-9.html: Added.
* fast/text/emoji-gender.html: Added.
* fast/text/emoji-num-glyphs-expected.txt: Added.
* fast/text/emoji-num-glyphs.html: Added.
* fast/text/emoji-single-parent-family-2-expected-mismatch.html: Added.
* fast/text/emoji-single-parent-family-2.html: Added.
* fast/text/emoji-single-parent-family-expected-mismatch.html: Added.
* fast/text/emoji-single-parent-family.html: Added.

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

3 years agoUnreviewed, rolling out r203318.
cdumez@apple.com [Sun, 17 Jul 2016 00:19:41 +0000 (00:19 +0000)]
Unreviewed, rolling out r203318.

Regressed most JS Benchmarks on MacBook Air by ~2% (7% on
SunSpider)

Reverted changeset:

"[JSC] Change some parameters based on a random search"
https://bugs.webkit.org/show_bug.cgi?id=158514
http://trac.webkit.org/changeset/203318

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

3 years agoUpdate SVGException to use the description in toString().
beidson@apple.com [Sat, 16 Jul 2016 21:33:01 +0000 (21:33 +0000)]
Update SVGException to use the description in toString().
https://bugs.webkit.org/show_bug.cgi?id=159847

Reviewed by Darin Adler.

Source/WebCore:

No new tests (Covered by changes to existing tests).

* bindings/js/JSDOMBinding.cpp:
(WebCore::reportException): use consoleErrorMessage for now.

* dom/ExceptionBase.cpp:
(WebCore::ExceptionBase::consoleErrorMessage):
* dom/ExceptionBase.h:

* svg/SVGException.h:

LayoutTests:

* svg/animations/animate-marker-orient-from-angle-to-autostartreverse-expected.txt:
* svg/custom/SVGException-expected.txt:
* svg/custom/polyline-points-crash-expected.txt:
* svg/custom/script-tests/SVGException.js:
* svg/dom/SVGAnimatedEnumeration-SVGClipPathElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGComponentTransferFunctionElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGFEBlendElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGFEColorMatrixElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGFECompositeElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGFEConvolveMatrixElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGFEDisplacementMapElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGFEMorphologyElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGFETurbulenceElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGFilterElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGGradientElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGMaskElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGPatternElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGTextContentElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-SVGTextPathElement-expected.txt:
* svg/dom/SVGAnimatedEnumeration-expected.txt:
* svg/dom/SVGLengthList-basics-expected.txt:
* svg/dom/SVGMatrix-interface-expected.txt:
* svg/dom/SVGNumberList-basics-expected.txt:
* svg/dom/SVGPointList-basics-expected.txt:
* svg/dom/SVGTransformList-basics-expected.txt:
* svg/dom/svglist-exception-on-out-bounds-error-expected.txt:
* svg/filters/feBlend-invalid-mode-expected.txt:
* svg/filters/feComponentTransfer-style-crash-expected.txt:
* svg/filters/feDisplacementMap-crash-test-expected.txt:

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

3 years agoUse secure (https) links on enter_bug.cgi
ddkilzer@apple.com [Sat, 16 Jul 2016 18:31:19 +0000 (18:31 +0000)]
Use secure (https) links on enter_bug.cgi
<https://webkit.org/b/159853>

Reviewed by Alexey Proskuryakov.

* template/en/default/global/choose-product.html.tmpl:
Use https instead of http for links to webkit.org.

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

3 years agoUse fastHasAttribute() when possible
cdumez@apple.com [Sat, 16 Jul 2016 17:21:07 +0000 (17:21 +0000)]
Use fastHasAttribute() when possible
https://bugs.webkit.org/show_bug.cgi?id=159838

Reviewed by Ryosuke Niwa.

Use fastHasAttribute() when possible, for performance.

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):
* editing/markup.cpp:
(WebCore::createMarkupInternal):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::draggable):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseAttribute):
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::adjustMenuListButtonStyle):

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

3 years agoAdd move constructor / assignment operator to ListHashSet
cdumez@apple.com [Sat, 16 Jul 2016 16:33:11 +0000 (16:33 +0000)]
Add move constructor / assignment operator to ListHashSet
https://bugs.webkit.org/show_bug.cgi?id=159837

Reviewed by Darin Adler.

Source/WTF:

Add move constructor / assignment operator to ListHashSet.

* wtf/ListHashSet.h:
(WTF::ListHashSetConstIterator::operator++):
(WTF::U>::ListHashSet):
(WTF::=):
(WTF::U>::clear):
(WTF::U>::appendNode):
(WTF::U>::prependNode):
(WTF::U>::deleteAllNodes):
(WTF::ListHashSetNode::ListHashSetNode): Deleted.

Tools:

Add API tests.

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

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

3 years agoRename fastGetAttribute to attributeWithoutSynchronization
rniwa@webkit.org [Sat, 16 Jul 2016 15:21:55 +0000 (15:21 +0000)]
Rename fastGetAttribute to attributeWithoutSynchronization
https://bugs.webkit.org/show_bug.cgi?id=159852

Reviewed by Darin Adler.

Source/WebCore:

Renamed fastGetAttribute to attributeWithoutSynchronization for clarity.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::findAriaModalNodes):
(WebCore::nodeHasRole):
(WebCore::AXObjectCache::handleLiveRegionCreated):
(WebCore::AXObjectCache::handleMenuItemSelected):
(WebCore::AXObjectCache::handleAriaModalChange):
(WebCore::isNodeAriaVisible):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::siblingWithAriaRole):
(WebCore::AccessibilityNodeObject::titleElementText):
(WebCore::AccessibilityNodeObject::alternativeTextForWebArea):
(WebCore::AccessibilityNodeObject::hierarchicalLevel):
(WebCore::AccessibilityNodeObject::stringValue):
(WebCore::accessibleNameForNode):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::contentEditableAttributeIsEnabled):
(WebCore::AccessibilityObject::getAttribute):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::stringValue):
(WebCore::AccessibilityRenderObject::exposesTitleUIElement):
* accessibility/AccessibilitySVGElement.cpp:
(WebCore::AccessibilitySVGElement::childElementWithMatchingLanguage):
(WebCore::AccessibilitySVGElement::accessibilityDescription):
* bindings/objc/DOM.mm:
(-[DOMHTMLLinkElement _mediaQueryMatches]):
* bindings/scripts/CodeGenerator.pm:
(GetterExpression):
* bindings/scripts/CodeGeneratorObjC.pm:
(GenerateImplementation):
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjReflectedStringAttr):
* dom/AuthorStyleSheets.cpp:
(WebCore::AuthorStyleSheets::collectActiveStyleSheets):
* dom/Document.cpp:
(WebCore::Document::buildAccessKeyMap):
(WebCore::Document::processBaseElement):
* dom/DocumentOrderedMap.cpp:
(WebCore::DocumentOrderedMap::getElementByLabelForAttribute):
* dom/Element.cpp:
(WebCore::Element::imageSourceURL):
(WebCore::Element::rendererIsNeeded):
(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::pseudo):
(WebCore::Element::setPseudo):
(WebCore::Element::spellcheckAttributeState):
(WebCore::Element::canContainRangeEndPoint):
(WebCore::Element::completeURLsInAttributeValue):
* dom/Element.h:
(WebCore::Element::fastHasAttribute):
(WebCore::Element::attributeWithoutSynchronization):
(WebCore::Element::fastGetAttribute): Deleted.
* dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::createSheet):
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::requestScript):
(WebCore::ScriptElement::executeScript):
* dom/SlotAssignment.cpp:
(WebCore::slotNameFromSlotAttribute):
(WebCore::SlotAssignment::SlotAssignment):
(WebCore::recursivelyFireSlotChangeEvent):
(WebCore::SlotAssignment::didChangeSlot):
(WebCore::SlotAssignment::hostChildElementDidChange):
(WebCore::SlotAssignment::assignedNodesForSlot):
(WebCore::SlotAssignment::resolveAllSlotElements):
* dom/TreeScope.cpp:
(WebCore::TreeScope::labelElementForId):
* dom/VisitedLinkState.cpp:
(WebCore::linkAttribute):
* editing/ApplyStyleCommand.cpp:
(WebCore::isLegacyAppleStyleSpan):
(WebCore::hasNoAttributeOrOnlyStyleAttribute):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::isInterchangeNewlineNode):
(WebCore::isInterchangeConvertedSpaceSpan):
(WebCore::positionAvoidingPrecedingNodes):
(WebCore::isMailPasteAsQuotationNode):
(WebCore::isHeaderElement):
(WebCore::isInlineNodeWithStyle):
* editing/TextIterator.cpp:
(WebCore::isRendererReplacedElement):
* editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::isDataDetectorLink):
(WebCore::DataDetection::requiresExtendedContext):
(WebCore::DataDetection::dataDetectorIdentifier):
(WebCore::DataDetection::shouldCancelDefaultAction):
(WebCore::removeResultLinksFromAnchor):
(WebCore::searchForLinkRemovingExistingDDLinks):
* editing/gtk/EditorGtk.cpp:
(WebCore::elementURL):
* editing/htmlediting.cpp:
(WebCore::isTabSpanNode):
(WebCore::isTabSpanTextNode):
(WebCore::isMailBlockquote):
(WebCore::caretMinOffset):
* editing/markup.cpp:
(WebCore::createFragmentFromMarkup):
* html/Autofill.cpp:
(WebCore::AutofillData::createFromHTMLFormControlElement):
* html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch):
* html/DateInputType.cpp:
(WebCore::DateInputType::createStepRange):
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::createStepRange):
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::createStepRange):
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::findAssociatedForm):
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):
(WebCore::FormAssociatedElement::formAttributeTargetChanged):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::draggable):
(WebCore::HTMLAnchorElement::href):
(WebCore::HTMLAnchorElement::setHref):
(WebCore::HTMLAnchorElement::target):
(WebCore::HTMLAnchorElement::origin):
(WebCore::HTMLAnchorElement::sendPings):
(WebCore::HTMLAnchorElement::handleClick):
* html/HTMLAnchorElement.h:
(WebCore::HTMLAnchorElement::visitedLinkHash):
* html/HTMLAppletElement.cpp:
(WebCore::HTMLAppletElement::updateWidget):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::target):
* html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::attachmentTitle):
(WebCore::HTMLAttachmentElement::attachmentType):
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::target):
(WebCore::HTMLBaseElement::href):
* html/HTMLBodyElement.cpp:
(WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::value):
(WebCore::HTMLButtonElement::computeWillValidate):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::reset):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::bgColor):
(WebCore::HTMLDocument::setBgColor):
(WebCore::HTMLDocument::fgColor):
(WebCore::HTMLDocument::setFgColor):
(WebCore::HTMLDocument::alinkColor):
(WebCore::HTMLDocument::setAlinkColor):
(WebCore::HTMLDocument::linkColor):
(WebCore::HTMLDocument::setLinkColor):
(WebCore::HTMLDocument::vlinkColor):
(WebCore::HTMLDocument::setVlinkColor):
* html/HTMLElement.cpp:
(WebCore::contentEditableType):
(WebCore::HTMLElement::collectStyleForPresentationAttribute):
(WebCore::HTMLElement::dir):
(WebCore::HTMLElement::setDir):
(WebCore::HTMLElement::draggable):
(WebCore::HTMLElement::setDraggable):
(WebCore::HTMLElement::title):
(WebCore::HTMLElement::tabIndex):
(WebCore::HTMLElement::translateAttributeMode):
(WebCore::HTMLElement::hasDirectionAuto):
(WebCore::HTMLElement::directionality):
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::imageSourceURL):
(WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::formEnctype):
(WebCore::HTMLFormControlElement::formMethod):
(WebCore::HTMLFormControlElement::formAction):
(WebCore::HTMLFormControlElement::autocorrect):
(WebCore::HTMLFormControlElement::autocapitalizeType):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::autocorrect):
(WebCore::HTMLFormElement::autocapitalizeType):
(WebCore::HTMLFormElement::autocapitalize):
(WebCore::HTMLFormElement::action):
(WebCore::HTMLFormElement::setAction):
(WebCore::HTMLFormElement::target):
(WebCore::HTMLFormElement::wasUserSubmitted):
(WebCore::HTMLFormElement::shouldAutocomplete):
(WebCore::HTMLFormElement::finishParsingChildren):
(WebCore::HTMLFormElement::autocomplete):
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::location):
(WebCore::HTMLFrameElementBase::setLocation):
* html/HTMLHtmlElement.cpp:
(WebCore::HTMLHtmlElement::insertedByParser):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::imageSourceURL):
(WebCore::HTMLImageElement::setBestFitURLAndDPRFromImageCandidate):
(WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
(WebCore::HTMLImageElement::selectImageSource):
(WebCore::HTMLImageElement::altText):
(WebCore::HTMLImageElement::createElementRenderer):
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
(WebCore::HTMLImageElement::alt):
(WebCore::HTMLImageElement::draggable):
(WebCore::HTMLImageElement::setHeight):
(WebCore::HTMLImageElement::src):
(WebCore::HTMLImageElement::setSrc):
(WebCore::HTMLImageElement::addSubresourceAttributeURLs):
(WebCore::HTMLImageElement::didMoveToNewDocument):
(WebCore::HTMLImageElement::isServerMap):
(WebCore::HTMLImageElement::crossOrigin):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::initializeInputType):
(WebCore::HTMLInputElement::altText):
(WebCore::HTMLInputElement::value):
(WebCore::HTMLInputElement::defaultValue):
(WebCore::HTMLInputElement::setDefaultValue):
(WebCore::HTMLInputElement::acceptMIMETypes):
(WebCore::HTMLInputElement::acceptFileExtensions):
(WebCore::HTMLInputElement::accept):
(WebCore::HTMLInputElement::alt):
(WebCore::HTMLInputElement::effectiveMaxLength):
(WebCore::HTMLInputElement::src):
(WebCore::HTMLInputElement::setAutoFilled):
(WebCore::HTMLInputElement::dataList):
(WebCore::HTMLInputElement::resetListAttributeTargetObserver):
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::isKeytypeRSA):
(WebCore::HTMLKeygenElement::appendFormData):
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::didAttachRenderers):
(WebCore::HTMLLIElement::parseValue):
* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::control):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::crossOrigin):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::href):
(WebCore::HTMLLinkElement::rel):
(WebCore::HTMLLinkElement::target):
(WebCore::HTMLLinkElement::type):
(WebCore::HTMLLinkElement::iconType):
* html/HTMLMarqueeElement.cpp:
(WebCore::HTMLMarqueeElement::scrollAmount):
(WebCore::HTMLMarqueeElement::setScrollAmount):
(WebCore::HTMLMarqueeElement::scrollDelay):
(WebCore::HTMLMarqueeElement::setScrollDelay):
(WebCore::HTMLMarqueeElement::loop):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::insertedInto):
(WebCore::HTMLMediaElement::crossOrigin):
(WebCore::HTMLMediaElement::networkState):
(WebCore::HTMLMediaElement::mediaSessionTitle):
(WebCore::HTMLMediaElement::doesHaveAttribute):
* html/HTMLMetaElement.cpp:
(WebCore::HTMLMetaElement::process):
(WebCore::HTMLMetaElement::content):
(WebCore::HTMLMetaElement::httpEquiv):
(WebCore::HTMLMetaElement::name):
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::min):
(WebCore::HTMLMeterElement::setMin):
(WebCore::HTMLMeterElement::max):
(WebCore::HTMLMeterElement::setMax):
(WebCore::HTMLMeterElement::value):
(WebCore::HTMLMeterElement::low):
(WebCore::HTMLMeterElement::high):
(WebCore::HTMLMeterElement::optimum):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):
(WebCore::HTMLObjectElement::hasValidClassId):
(WebCore::HTMLObjectElement::imageSourceURL):
(WebCore::HTMLObjectElement::renderFallbackContent):
(WebCore::HTMLObjectElement::containsJavaApplet):
(WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::groupLabelText):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::value):
(WebCore::HTMLOptionElement::label):
* html/HTMLParamElement.cpp:
(WebCore::HTMLParamElement::value):
(WebCore::HTMLParamElement::isURLParameter):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::value):
(WebCore::HTMLProgressElement::max):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::crossOrigin):
(WebCore::HTMLScriptElement::src):
(WebCore::HTMLScriptElement::sourceAttributeValue):
(WebCore::HTMLScriptElement::charsetAttributeValue):
(WebCore::HTMLScriptElement::typeAttributeValue):
(WebCore::HTMLScriptElement::languageAttributeValue):
(WebCore::HTMLScriptElement::forAttributeValue):
(WebCore::HTMLScriptElement::eventAttributeValue):
(WebCore::HTMLScriptElement::asyncAttributeValue):
* html/HTMLSlotElement.cpp:
(WebCore::HTMLSlotElement::insertedInto):
(WebCore::HTMLSlotElement::removedFrom):
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::media):
(WebCore::HTMLSourceElement::setMedia):
(WebCore::HTMLSourceElement::type):
(WebCore::HTMLSourceElement::setType):
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::colSpanForBindings):
(WebCore::HTMLTableCellElement::rowSpan):
(WebCore::HTMLTableCellElement::rowSpanForBindings):
(WebCore::HTMLTableCellElement::cellIndex):
(WebCore::HTMLTableCellElement::abbr):
(WebCore::HTMLTableCellElement::axis):
(WebCore::HTMLTableCellElement::setColSpanForBindings):
(WebCore::HTMLTableCellElement::headers):
(WebCore::HTMLTableCellElement::setRowSpanForBindings):
(WebCore::HTMLTableCellElement::scope):
(WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):
(WebCore::HTMLTableCellElement::cellAbove):
* html/HTMLTableColElement.cpp:
(WebCore::HTMLTableColElement::width):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::rules):
(WebCore::HTMLTableElement::summary):
(WebCore::HTMLTableElement::addSubresourceAttributeURLs):
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::align):
(WebCore::HTMLTableSectionElement::setAlign):
(WebCore::HTMLTableSectionElement::ch):
(WebCore::HTMLTableSectionElement::setCh):
(WebCore::HTMLTableSectionElement::chOff):
(WebCore::HTMLTableSectionElement::setChOff):
(WebCore::HTMLTableSectionElement::vAlign):
(WebCore::HTMLTableSectionElement::setVAlign):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::appendFormData):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::strippedPlaceholder):
(WebCore::HTMLTextFormControlElement::isPlaceholderEmpty):
(WebCore::HTMLTextFormControlElement::directionForFormData):
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::srclang):
(WebCore::HTMLTrackElement::label):
(WebCore::HTMLTrackElement::isDefault):
(WebCore::HTMLTrackElement::ensureTrack):
(WebCore::HTMLTrackElement::mediaElementCrossOriginAttribute):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::parseAttribute):
(WebCore::HTMLVideoElement::imageSourceURL):
* html/ImageInputType.cpp:
(WebCore::ImageInputType::height):
(WebCore::ImageInputType::width):
* html/InputType.cpp:
(WebCore::InputType::applyStep):
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::wirelessVideoPlaybackDisabled):
* html/MonthInputType.cpp:
(WebCore::MonthInputType::createStepRange):
* html/NumberInputType.cpp:
(WebCore::NumberInputType::createStepRange):
(WebCore::NumberInputType::sizeShouldIncludeDecoration):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::createStepRange):
(WebCore::RangeInputType::handleKeydownEvent):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::appendFormData):
(WebCore::TextFieldInputType::updateAutoFillButton):
* html/TimeInputType.cpp:
(WebCore::TimeInputType::createStepRange):
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::updateValidationMessage):
* html/WeekInputType.cpp:
(WebCore::WeekInputType::createStepRange):
* html/track/WebVTTElement.cpp:
(WebCore::WebVTTElement::createEquivalentHTMLElement):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::buildObjectForFrame):
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::defaultSubstituteDataForURL):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::updateFromElement):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::isPluginContentAllowedByContentSecurityPolicy):
* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::colSpan):
(WebCore::MathMLElement::rowSpan):
(WebCore::MathMLElement::childShouldCreateRenderer):
(WebCore::MathMLElement::defaultEventHandler):
(WebCore::MathMLElement::cachedMathMLLength):
* mathml/MathMLFractionElement.cpp:
(WebCore::MathMLFractionElement::lineThickness):
(WebCore::MathMLFractionElement::cachedFractionAlignment):
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::getSelectedActionChildAndIndex):
(WebCore::MathMLSelectElement::getSelectedActionChild):
(WebCore::MathMLSelectElement::getSelectedSemanticsChild):
(WebCore::MathMLSelectElement::defaultEventHandler):
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents):
(WebCore::MathMLSelectElement::toggle):
* page/EventHandler.cpp:
(WebCore::findDropZone):
* page/Frame.cpp:
(WebCore::Frame::matchLabelsAgainstElement):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writeImageToDataObject):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::altDisplayString):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::isOpen):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageMap):
(WebCore::RenderImage::nodeAtPoint):
* rendering/RenderMenuList.cpp:
(RenderMenuList::itemAccessibilityText):
(RenderMenuList::itemToolTip):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::autosaveName):
* rendering/RenderThemeIOS.mm:
(WebCore::getAttachmentProgress):
(WebCore::AttachmentInfo::AttachmentInfo):
* rendering/RenderThemeMac.mm:
(WebCore::AttachmentLayout::layOutSubtitle):
(WebCore::RenderThemeMac::paintAttachment):
* rendering/mathml/MathMLStyle.cpp:
(WebCore::MathMLStyle::resolveMathMLStyle):
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::updateFromElement):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttribute):
(WebCore::RenderMathMLOperator::setOperatorFlagFromAttributeValue):
(WebCore::RenderMathMLOperator::setOperatorProperties):
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::getScriptMetricsAndLayoutIfNeeded):
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::hasAccent):
* style/StyleSharingResolver.cpp:
(WebCore::Style::SharingResolver::canShareStyleWithElement):
(WebCore::Style::SharingResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::title):
(WebCore::SVGAElement::defaultEventHandler):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::glyphRef):
(WebCore::SVGAltGlyphElement::setFormat):
(WebCore::SVGAltGlyphElement::format):
(WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::toValue):
(WebCore::SVGAnimationElement::byValue):
(WebCore::SVGAnimationElement::fromValue):
(WebCore::SVGAnimationElement::isAdditive):
(WebCore::SVGAnimationElement::isAccumulated):
* svg/SVGElement.cpp:
(WebCore::SVGElement::xmlbase):
(WebCore::SVGElement::setXmlbase):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::unitsPerEm):
(WebCore::SVGFontFaceElement::xHeight):
(WebCore::SVGFontFaceElement::capHeight):
(WebCore::SVGFontFaceElement::horizontalOriginX):
(WebCore::SVGFontFaceElement::horizontalOriginY):
(WebCore::SVGFontFaceElement::horizontalAdvanceX):
(WebCore::SVGFontFaceElement::verticalOriginX):
(WebCore::SVGFontFaceElement::verticalOriginY):
(WebCore::SVGFontFaceElement::verticalAdvanceY):
(WebCore::SVGFontFaceElement::ascent):
(WebCore::SVGFontFaceElement::descent):
* svg/SVGFontFaceNameElement.cpp:
(WebCore::SVGFontFaceNameElement::srcValue):
* svg/SVGFontFaceUriElement.cpp:
(WebCore::SVGFontFaceUriElement::srcValue):
* svg/SVGGlyphRefElement.cpp:
(WebCore::SVGGlyphRefElement::glyphRef):
(WebCore::SVGGlyphRefElement::setGlyphRef):
* svg/SVGHKernElement.cpp:
(WebCore::SVGHKernElement::buildHorizontalKerningPair):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::contentScriptType):
(WebCore::SVGSVGElement::contentStyleType):
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::media):
(WebCore::SVGStyleElement::title):
(WebCore::SVGStyleElement::setTitle):
* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::appendOS2Table):
(WebCore::SVGToOTFFontConverter::appendCFFTable):
(WebCore::SVGToOTFFontConverter::appendArabicReplacementSubtable):
(WebCore::SVGToOTFFontConverter::appendVORGTable):
(WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
(WebCore::SVGToOTFFontConverter::processGlyphElement):
(WebCore::SVGToOTFFontConverter::compareCodepointsLexicographically):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):
* svg/SVGVKernElement.cpp:
(WebCore::SVGVKernElement::buildVerticalKerningPair):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::insertedInto):
(WebCore::SVGSMILElement::parseAttribute):
(WebCore::SVGSMILElement::svgAttributeChanged):
(WebCore::SVGSMILElement::restart):
(WebCore::SVGSMILElement::fill):
(WebCore::SVGSMILElement::dur):
(WebCore::SVGSMILElement::repeatDur):
(WebCore::SVGSMILElement::repeatCount):
(WebCore::SVGSMILElement::maxValue):
(WebCore::SVGSMILElement::minValue):

Source/WebKit/mac:

* WebView/WebHTMLRepresentation.mm:
(matchLabelsAgainstElement):

Source/WebKit/win:

* DOMHTMLClasses.cpp:
(DOMHTMLElement::idName):

Source/WebKit2:

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
(WebKit::WebPage::performActionOnElement):
(WebKit::WebPage::getAssistedNodeInformation):

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

3 years agoASSERTION FAILED: isMainThread() in ~UniqueIDBDatabase() since r201997
commit-queue@webkit.org [Sat, 16 Jul 2016 11:33:52 +0000 (11:33 +0000)]
ASSERTION FAILED: isMainThread() in ~UniqueIDBDatabase() since r201997
https://bugs.webkit.org/show_bug.cgi?id=159809

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-07-16
Reviewed by Brady Eidson.

In r201997 the UniqueIDBDatabase was protected in executeNextDatabaseTask() because the last reference could be
removed while the task is performed. However UniqueIDBDatabase is expected to be deleted in the main thread, and
the destructor asserts when not called in the main thread, but executeNextDatabaseTask() is always called on a
secondary thread. So, if the protector contains the last reference, the object is deleted in the secondary thread.

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTask): Use callOnMainThread to ensure the object is
deleted in the main thread in case the protector contains the last reference.

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

3 years agoUse emptyString() / nullAtom when possible
cdumez@apple.com [Sat, 16 Jul 2016 04:51:45 +0000 (04:51 +0000)]
Use emptyString() / nullAtom when possible
https://bugs.webkit.org/show_bug.cgi?id=159850

Reviewed by Ryosuke Niwa.

Use emptyString() / nullAtom when possible, for performance.

Source/WebCore:

* Modules/webaudio/AudioNode.cpp:
(WebCore::AudioNode::channelCountMode):
(WebCore::AudioNode::channelInterpretation):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::tracker):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::WebSocket):
(WebCore::WebSocket::didConnect):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::subprotocol):
(WebCore::WebSocketChannel::extensions):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::supportsPressAction):
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
* css/CSSPropertySourceData.cpp:
(WebCore::CSSPropertySourceData::CSSPropertySourceData):
* css/PageRuleCollector.cpp:
(WebCore::PageRuleCollector::pageName):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::addDictationPhraseWithAlternativesMarker):
* dom/Element.cpp:
(WebCore::Element::setPrefix):
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::respondToMarkerAtEndOfWord):
(WebCore::AlternativeTextController::markerDescriptionForAppliedAlternativeText):
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::removeNodeAttribute):
(WebCore::CompositeEditCommand::moveParagraphs):
* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::positionInsideTextNode):
* editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
* editing/TypingCommand.cpp:
(WebCore::TypingCommand::deleteSelection):
(WebCore::TypingCommand::deleteKeyPressed):
(WebCore::TypingCommand::forwardDeleteKeyPressed):
(WebCore::TypingCommand::insertLineBreak):
(WebCore::TypingCommand::insertParagraphSeparator):
* editing/cocoa/EditorCocoa.mm:
(WebCore::Editor::styleForSelectionStart):
* editing/mac/EditorMac.mm:
(WebCore::Editor::stringSelectionForPasteboard):
(WebCore::Editor::stringSelectionForPasteboardWithImageAltText):
* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::FileReaderLoader):
* html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus):
* html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::HTMLOutputElement):
* html/SearchInputType.cpp:
(WebCore::SearchInputType::handleKeydownEvent):
* html/TextFieldInputType.cpp:
(WebCore::autoFillButtonTypeToAccessibilityLabel):
* html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::getTranslatedShaderSource):
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::dispatchContextLostEvent):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):
* html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::WebGLShader):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlStatusDisplayElement::update):
* html/track/TextTrack.cpp:
(WebCore::TextTrack::captionMenuOffItem):
(WebCore::TextTrack::captionMenuAutomaticItem):
* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::scroll):
* html/track/VTTRegion.h:
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::toErrorString):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::documentURLString):
(WebCore::documentBaseURLString):
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::domTypeName):
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::localizedStringsURL):
* inspector/InspectorHistory.cpp:
(WebCore::InspectorHistory::Action::mergeId):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::reload):
(WebCore::InspectorPageAgent::frameId):
(WebCore::InspectorPageAgent::loaderId):
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::ruleSelector):
* loader/EmptyClients.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::referrer):
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::clearFailedLoadURL):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveResponse):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
* page/FrameTree.cpp:
(WebCore::FrameTree::setName):
(WebCore::FrameTree::clearName):
* page/Location.cpp:
(WebCore::Location::port):
* platform/network/ProtectionSpaceBase.cpp:
(WebCore::ProtectionSpaceBase::ProtectionSpaceBase):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::handleElementAttributes):

Source/WTF:

* wtf/text/AtomicString.cpp:
(WTF::AtomicString::convertASCIICase):

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

3 years ago[mac] LayoutTest fast/css/ancestor-of-hovered-element-detached.html is flaky
benjamin@webkit.org [Sat, 16 Jul 2016 04:17:21 +0000 (04:17 +0000)]
[mac] LayoutTest fast/css/ancestor-of-hovered-element-detached.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=159173

Reviewed by Alexey Proskuryakov.

The test ancestor-of-hovered-element-detached.html is not reliably
covering r202324.

In the case of that test, the first style update is done with
the flag TeardownType::KeepHoverAndActive. This keeps the ":hover" state
set despite the subtree losing their renderer.
This looks like a serious issue that should be tested separately.

* fast/css/ancestor-of-hovered-element-removed.html:
The :hover update timer is actually a zero timer.
It is reasonable to expect a full update after one frame update.

* fast/css/ancestor-of-hovered-element-detached-expected.txt: Removed.
* fast/css/ancestor-of-hovered-element-detached.html: Removed.
* platform/ios-simulator/TestExpectations:
* platform/mac/TestExpectations:

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

3 years ago[JSC] Convert the remaining createOutOfMemoryError()+throwException() into throwOutOf...
commit-queue@webkit.org [Sat, 16 Jul 2016 04:16:30 +0000 (04:16 +0000)]
[JSC] Convert the remaining createOutOfMemoryError()+throwException() into throwOutOfMemoryError()
https://bugs.webkit.org/show_bug.cgi?id=159665

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-07-15
Reviewed by Saam Barati.

* API/JSTypedArray.cpp:
(createTypedArray):
* runtime/Error.cpp:
(JSC::createOutOfMemoryError):
* runtime/Error.h:
* runtime/ExceptionHelpers.cpp:
(JSC::throwOutOfMemoryError):
* runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
* runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoFuncSlice):
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::create):
(JSC::JSGenericTypedArrayView<Adaptor>::createUninitialized):

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

3 years agoTest gardening after r203314
mmaxfield@apple.com [Sat, 16 Jul 2016 02:50:12 +0000 (02:50 +0000)]
Test gardening after r203314
https://bugs.webkit.org/show_bug.cgi?id=159842

Unreviewed.

* TestExpectations:

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

3 years ago[JSC] Change some parameters based on a random search
commit-queue@webkit.org [Sat, 16 Jul 2016 02:12:31 +0000 (02:12 +0000)]
[JSC] Change some parameters based on a random search
https://bugs.webkit.org/show_bug.cgi?id=158514

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-07-15
Reviewed by Saam Barati.

Source/JavaScriptCore:

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::optimizationThresholdScalingFactor):
* runtime/Options.h:

Tools:

* Scripts/run-jsc-stress-tests:

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

3 years agoRepaints rects drawn incorrectly when inspecting a WebView on a Retina display
simon.fraser@apple.com [Sat, 16 Jul 2016 01:43:53 +0000 (01:43 +0000)]
Repaints rects drawn incorrectly when inspecting a WebView on a Retina display
https://bugs.webkit.org/show_bug.cgi?id=159824
rdar://problem/27376305

Reviewed by Brian Burg.

InspectorOverlayPage.js set up the canvases with a deviceScaleFactor passed into
reset(), which comes from the overlay's m_page.deviceScaleFactor(). However, updatePaintRects()
used window.devicePixelRatio which was always 1.

Fix by setting the deviceScaleFactor on the m_overlayPage.

* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::overlayPage):

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

3 years agoWeb Automation: Fix element and event coord space issues
timothy@apple.com [Sat, 16 Jul 2016 01:19:21 +0000 (01:19 +0000)]
Web Automation: Fix element and event coord space issues
https://bugs.webkit.org/show_bug.cgi?id=159851
rdar://problem/27375780

Reviewed by Brian Burg.

* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::performMouseInteraction): Subtract topContentInset() before
it goes back out to WebDriver.
* WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::computeElementLayout): When using useViewportCoordinates,
subtract topContentInset() so it matches expectations.

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

3 years agoAssertion failures and crashes with missing TDZ checks for catch-node bindings.
mark.lam@apple.com [Sat, 16 Jul 2016 01:14:57 +0000 (01:14 +0000)]
Assertion failures and crashes with missing TDZ checks for catch-node bindings.
https://bugs.webkit.org/show_bug.cgi?id=158797

Reviewed by Saam Barati.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitPushCatchScope):
(JSC::BytecodeGenerator::emitPopCatchScope):
* tests/stress/catch-clause-should-be-under-tdz1.js: Added.
* tests/stress/catch-clause-should-be-under-tdz2.js: Added.
* tests/stress/catch-clause-should-be-under-tdz3.js: Added.
* tests/stress/catch-clause-should-be-under-tdz4.js: Added.
* tests/stress/catch-clause-should-be-under-tdz5.js: Added.

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

3 years ago[macOS] Work around crash in [NSAttributedString nextWordFromIndex:forward:]
mmaxfield@apple.com [Sat, 16 Jul 2016 00:55:12 +0000 (00:55 +0000)]
[macOS] Work around crash in [NSAttributedString nextWordFromIndex:forward:]
https://bugs.webkit.org/show_bug.cgi?id=159842

Reviewed by Jon Lee.

Source/WebCore:

<rdar://problem/27380532> describes a crash inside [NSAttributedString nextWordFromIndex:forward:].
This must be worked around for https://bugs.webkit.org/show_bug.cgi?id=159755 and
<rdar://problem/27325521>.

* platform/text/mac/TextBoundaries.mm:
(WebCore::findNextWordFromIndex):

LayoutTests:

* editing/deleting/delete-emoji-expected.txt:
* editing/deleting/delete-emoji.html:

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

3 years agoUpdate XPathException to use the description in toString().
beidson@apple.com [Sat, 16 Jul 2016 00:46:23 +0000 (00:46 +0000)]
Update XPathException to use the description in toString().
https://bugs.webkit.org/show_bug.cgi?id=159848

Reviewed by Alex Christensen.

Source/WebCore:

No new tests (Covered by changes to existing tests).

* bindings/js/JSDOMBinding.cpp:
(WebCore::createDOMException):
* xml/XPathException.h:
(WebCore::XPathException::XPathException):

LayoutTests:

* fast/dom/DOMException/XPathException-expected.txt:
* fast/dom/DOMException/resources/XPathException.js:
* fast/xpath/4XPath/Core/test_parser-expected.txt:
* fast/xpath/invalid-functions-expected.txt:
* fast/xpath/py-dom-xpath/expressions-expected.txt:

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

3 years agoMac UI process needs to know about element focus and blur, much like iOS
bdakin@apple.com [Sat, 16 Jul 2016 00:39:50 +0000 (00:39 +0000)]
Mac UI process needs to know about element focus and blur, much like iOS
https://bugs.webkit.org/show_bug.cgi?id=159843
-and corresponding-
rdar://problem/27229504

Reviewed by Tim Horton.

This patch makes the existing iOS machinery to handle focus and blurring of
elements cross-platform. Instead of using the existing iOS messages for
startAssistingNode/stopAssistingNode, this patch adds a new message that
require only a boolean parameter: setEditableElementIsFocused.

Now that more of this code is shared, this patch teases
m_hasFocusedDueToUserInteraction out into two variables. I realized that it
was being used to mean two slightly different things on Mac and iOS, which
was very confusing. Now we have m_isAssistingNodeDueToUserInteraction to
represent the way iOS was using the variable, and we have
m_hasEverFocusedElementDueToUserInteractionSincePageTransition to represent
how Mac was using the variable. There should not be any behavior changes with
this re-name, just added clarity.

WebViewImpl has a new member variable m_editableElementIsFocused.
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::setEditableElementIsFocused):

Pipe the new setEditableElementIsFocused message to WebViewImpl.
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setEditableElementIsFocused):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setEditableElementIsFocused):

elementDidFocus() and elementDidBlur() are now PLATFORM(COCOA) instead of
PLATFORM(IOS)
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::elementDidFocus):
(WebKit::WebChromeClient::elementDidBlur):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::elementDidFocus): Deleted.
(WebKit::WebChromeClient::elementDidBlur): Deleted.

m_hasPendingBlurNotification is no longer iOS-only.
* WebProcess/WebPage/WebPage.cpp:

Use our two new bools m_isAssistingNodeDueToUserInteraction and
m_hasEverFocusedElementDueToUserInteractionSincePageTransition
(WebKit::WebPage::didStartPageTransition):
(WebKit::WebPage::didChangeSelection):

These functions are all newly cross-platform. The Messages they send are
still platform-specific, but otherwise the logic is the same. We
dispatch_async the blur messages so that the UI process features won’t be
flashy when the user is tapping, tabbing, or clicking through form fields.
(WebKit::WebPage::resetAssistedNodeForFrame):
(WebKit::WebPage::elementDidFocus):
(WebKit::WebPage::elementDidBlur):

resetAssistedNodeForFrame() is no longer iOS-only.
(WebKit::WebPage::didCommitLoad):

Move variables and functions around so that they are defined for the right
platform, and declare the two new bools in place of the old one.
* WebProcess/WebPage/WebPage.h:

These functions are now defined in WebPage.cpp
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::resetAssistedNodeForFrame): Deleted.
(WebKit::WebPage::elementDidFocus): Deleted.
(WebKit::WebPage::elementDidBlur): Deleted.

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

3 years agoRevert double ChangeLog entries
beidson@apple.com [Sat, 16 Jul 2016 00:09:06 +0000 (00:09 +0000)]
Revert double ChangeLog entries

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

3 years agoChange toString() behavior for exceptions constructed with "createWithDescriptionAsMe...
beidson@apple.com [Sat, 16 Jul 2016 00:06:34 +0000 (00:06 +0000)]
Change toString() behavior for exceptions constructed with "createWithDescriptionAsMessage".
https://bugs.webkit.org/show_bug.cgi?id=159839

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* IndexedDB-private-browsing/idbindex_get7-expected.txt:
* IndexedDB-private-browsing/idbindex_getKey7-expected.txt:
* IndexedDB-private-browsing/idbindex_openCursor2-expected.txt:
* IndexedDB-private-browsing/idbindex_openKeyCursor3-expected.txt:
* web-platform-tests/IndexedDB/idbindex_get7-expected.txt:
* web-platform-tests/IndexedDB/idbindex_getKey7-expected.txt:
* web-platform-tests/IndexedDB/idbindex_openCursor2-expected.txt:
* web-platform-tests/IndexedDB/idbindex_openKeyCursor3-expected.txt:

Source/WebCore:

No new tests (Covered by changes to existing tests).

This is the first step towards extended exception messages for all exception types.

* dom/ExceptionBase.cpp:
(WebCore::ExceptionBase::ExceptionBase):
(WebCore::ExceptionBase::toString):
* dom/ExceptionBase.h:

LayoutTests:

* storage/indexeddb/modern/createobjectstore-failures-expected.txt:
* storage/indexeddb/modern/createobjectstore-failures-private-expected.txt:
* storage/indexeddb/modern/double-abort-expected.txt:
* storage/indexeddb/modern/double-abort-private-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt:

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

3 years agoChange toString() behavior for exceptions constructed with "createWithDescriptionAsMe...
beidson@apple.com [Sat, 16 Jul 2016 00:04:42 +0000 (00:04 +0000)]
Change toString() behavior for exceptions constructed with "createWithDescriptionAsMessage".
https://bugs.webkit.org/show_bug.cgi?id=159839

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* IndexedDB-private-browsing/idbindex_get7-expected.txt:
* IndexedDB-private-browsing/idbindex_getKey7-expected.txt:
* IndexedDB-private-browsing/idbindex_openCursor2-expected.txt:
* IndexedDB-private-browsing/idbindex_openKeyCursor3-expected.txt:
* web-platform-tests/IndexedDB/idbindex_get7-expected.txt:
* web-platform-tests/IndexedDB/idbindex_getKey7-expected.txt:
* web-platform-tests/IndexedDB/idbindex_openCursor2-expected.txt:
* web-platform-tests/IndexedDB/idbindex_openKeyCursor3-expected.txt:

Source/WebCore:

No new tests (Covered by changes to existing tests).

This is the first step towards extended exception messages for all exception types.

* dom/ExceptionBase.cpp:
(WebCore::ExceptionBase::ExceptionBase):
(WebCore::ExceptionBase::toString):
* dom/ExceptionBase.h:

LayoutTests:

* storage/indexeddb/modern/createobjectstore-failures-expected.txt:
* storage/indexeddb/modern/createobjectstore-failures-private-expected.txt:
* storage/indexeddb/modern/double-abort-expected.txt:
* storage/indexeddb/modern/double-abort-private-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-deleteobjectstore-failures-private-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
* storage/indexeddb/modern/idbdatabase-transaction-failures-private-expected.txt:

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

3 years agoMerge background parser Blink test case
bfulgham@apple.com [Fri, 15 Jul 2016 23:50:06 +0000 (23:50 +0000)]
Merge background parser Blink test case
https://bugs.webkit.org/show_bug.cgi?id=116503

Test case is from the Blink change (patch by <apavlov@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/3044d8c22b6ab5653fe572aad656ae1325725dc9>

* fast/css/background-parser-crash-expected.txt: Added.
* fast/css/background-parser-crash.html: Added.
* inspector/styles: Added.
* inspector/styles/background-parsing-crash-expected.txt: Added.
* inspector/styles/background-parsing-crash.html: Added.

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

3 years agoMerge First-letter Blink test case
bfulgham@apple.com [Fri, 15 Jul 2016 23:25:35 +0000 (23:25 +0000)]
Merge First-letter Blink test case
https://bugs.webkit.org/show_bug.cgi?id=123961

Test case is from the Blink change (patch by <leviw@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/c8ff8df9fc2ad81580526d53304c281df5d93e97%5E%21/#F1>

* fast/css-generated-content/empty-first-letter-with-columns-crash-expected.txt: Added.
* fast/css-generated-content/empty-first-letter-with-columns-crash.html: Added.

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

3 years agoUnreviewed, rolling out r203304.
cdumez@apple.com [Fri, 15 Jul 2016 22:38:30 +0000 (22:38 +0000)]
Unreviewed, rolling out r203304.

This is wrong because of Node* entries in the internal HashMap

Reverted changeset:

"Add move constructor / assignment operator to ListHashSet"
https://bugs.webkit.org/show_bug.cgi?id=159837
http://trac.webkit.org/changeset/203304

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

3 years agoMarking http/tests/cache/disk-cache/disk-cache-request-max-stale.html as a flaky...
ryanhaddad@apple.com [Fri, 15 Jul 2016 22:27:53 +0000 (22:27 +0000)]
Marking http/tests/cache/disk-cache/disk-cache-request-max-stale.html as a flaky timeout on ios-simulator WK2 Release
https://bugs.webkit.org/show_bug.cgi?id=159840

Unreviewed test gardening.

* platform/ios-simulator-wk2/TestExpectations:

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

3 years agoAdd move constructor / assignment operator to ListHashSet
cdumez@apple.com [Fri, 15 Jul 2016 22:25:43 +0000 (22:25 +0000)]
Add move constructor / assignment operator to ListHashSet
https://bugs.webkit.org/show_bug.cgi?id=159837

Reviewed by Alex Christensen.

Add move constructor / assignment operator to ListHashSet.

* wtf/ListHashSet.h:

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

3 years agoAdded a makeRef<T> helper
ggaren@apple.com [Fri, 15 Jul 2016 21:51:07 +0000 (21:51 +0000)]
Added a makeRef<T> helper
https://bugs.webkit.org/show_bug.cgi?id=159835

Reviewed by Andreas Kling.

Anders told me to!

Source/JavaScriptCore:

* inspector/InjectedScriptHost.cpp:
(Inspector::InjectedScriptHost::wrapper):

Source/WebCore:

* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::putOrAddOnServer):
* Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::deleteDatabase):
(WebCore::InProcessIDBServer::didDeleteDatabase):
(WebCore::InProcessIDBServer::openDatabase):
(WebCore::InProcessIDBServer::didOpenDatabase):
(WebCore::InProcessIDBServer::didAbortTransaction):
(WebCore::InProcessIDBServer::didCommitTransaction):
(WebCore::InProcessIDBServer::didCreateObjectStore):
(WebCore::InProcessIDBServer::didDeleteObjectStore):
(WebCore::InProcessIDBServer::didClearObjectStore):
(WebCore::InProcessIDBServer::didCreateIndex):
(WebCore::InProcessIDBServer::didDeleteIndex):
(WebCore::InProcessIDBServer::didPutOrAdd):
(WebCore::InProcessIDBServer::didGetRecord):
(WebCore::InProcessIDBServer::didGetCount):
(WebCore::InProcessIDBServer::didDeleteRecord):
(WebCore::InProcessIDBServer::didOpenCursor):
(WebCore::InProcessIDBServer::didIterateCursor):
(WebCore::InProcessIDBServer::abortTransaction):
(WebCore::InProcessIDBServer::commitTransaction):
(WebCore::InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
(WebCore::InProcessIDBServer::createObjectStore):
(WebCore::InProcessIDBServer::deleteObjectStore):
(WebCore::InProcessIDBServer::clearObjectStore):
(WebCore::InProcessIDBServer::createIndex):
(WebCore::InProcessIDBServer::deleteIndex):
(WebCore::InProcessIDBServer::putOrAdd):
(WebCore::InProcessIDBServer::getRecord):
(WebCore::InProcessIDBServer::getCount):
(WebCore::InProcessIDBServer::deleteRecord):
(WebCore::InProcessIDBServer::openCursor):
(WebCore::InProcessIDBServer::iterateCursor):
(WebCore::InProcessIDBServer::establishTransaction):
(WebCore::InProcessIDBServer::fireVersionChangeEvent):
(WebCore::InProcessIDBServer::didStartTransaction):
(WebCore::InProcessIDBServer::didCloseFromServer):
(WebCore::InProcessIDBServer::notifyOpenDBRequestBlocked):
(WebCore::InProcessIDBServer::databaseConnectionClosed):
(WebCore::InProcessIDBServer::abortOpenAndUpgradeNeeded):
(WebCore::InProcessIDBServer::didFireVersionChangeEvent):
(WebCore::InProcessIDBServer::openDBRequestCancelled):
(WebCore::InProcessIDBServer::confirmDidCloseFromServer):
(WebCore::InProcessIDBServer::getAllDatabaseNames):
(WebCore::InProcessIDBServer::didGetAllDatabaseNames):
* Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::didCompleteTrackSourceInfoRequest):
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::constraintsValidated):
(WebCore::UserMediaRequest::userMediaAccessGranted):
* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::scheduleNodeDeletion):
(WebCore::AudioContext::isPlayingAudioDidChange):
(WebCore::AudioContext::suspend):
(WebCore::AudioContext::resume):
(WebCore::AudioContext::close):
(WebCore::AudioContext::suspendPlayback):
(WebCore::AudioContext::mayResumePlayback):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction):
* dom/Node.cpp:
(WebCore::Node::setTextContent):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::layoutSizeChanged):
* inspector/CommandLineAPIHost.cpp:
(WebCore::CommandLineAPIHost::wrapper):
* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
(WebCore::AudioSourceProviderAVFObjC::prepare):
* platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
(WebCore::WebCoreAVCFResourceLoader::invalidate):
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::invalidate):
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(WebVideoFullscreenControllerContext::setExternalPlayback):
* platform/network/BlobResourceHandle.cpp:
(WebCore::BlobResourceHandle::start):
(WebCore::BlobResourceHandle::notifyFinish):
* platform/network/SocketStreamHandleBase.cpp:
(WebCore::SocketStreamHandleBase::disconnect):
* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::didReceiveHeader):

Source/WebKit2:

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::writeBlobsToTemporaryFiles):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::tryStoreAsCacheEntry):
* Platform/IPC/Connection.cpp:
(IPC::Connection::addWorkQueueMessageReceiver):
(IPC::Connection::removeWorkQueueMessageReceiver):
(IPC::Connection::invalidate):
(IPC::Connection::sendMessage):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
(IPC::Connection::connectionDidClose):
(IPC::Connection::enqueueIncomingMessage):
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::receiveSourceEventHandler):
* Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing):
(WebKit::ThreadedCompositor::setDeviceScaleFactor):
(WebKit::ThreadedCompositor::didChangeViewportSize):
(WebKit::ThreadedCompositor::didChangeViewportAttribute):
(WebKit::ThreadedCompositor::didChangeContentsSize):
(WebKit::ThreadedCompositor::scrollTo):
(WebKit::ThreadedCompositor::scrollBy):
(WebKit::ThreadedCompositor::didChangeVisibleRect):
* UIProcess/API/APIUserContentExtensionStore.cpp:
(API::UserContentExtensionStore::lookupContentExtension):
(API::UserContentExtensionStore::compileContentExtension):
(API::UserContentExtensionStore::removeContentExtension):
* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::ProcessLauncher):
* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::createSessionStorageNamespace):
(WebKit::StorageManager::destroySessionStorageNamespace):
(WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
(WebKit::StorageManager::cloneSessionStorageNamespace):
(WebKit::StorageManager::processDidCloseConnection):
(WebKit::StorageManager::getSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageOrigins):
(WebKit::StorageManager::deleteSessionStorageEntriesForOrigins):
(WebKit::StorageManager::getLocalStorageOrigins):
(WebKit::StorageManager::getLocalStorageOriginDetails):
(WebKit::StorageManager::deleteLocalStorageEntriesForOrigin):
(WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
(WebKit::StorageManager::deleteLocalStorageEntriesForOrigins):
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::readDataFromDiskIfNeeded):
* UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchData):
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::pluginThreadAsyncCall):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::gestureEvent):
(WebKit::EventDispatcher::touchEvent):
* WebProcess/WebPage/ViewUpdateDispatcher.cpp:
(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):

Source/WTF:

* wtf/Ref.h:
(WTF::makeRef): Helper function to do type inference for you.

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

3 years agoUse fastGetAttribute() / setAttributeWithoutSynchronization() when possible
cdumez@apple.com [Fri, 15 Jul 2016 21:35:40 +0000 (21:35 +0000)]
Use fastGetAttribute() / setAttributeWithoutSynchronization() when possible
https://bugs.webkit.org/show_bug.cgi?id=159793

Reviewed by Ryosuke Niwa.

Use fastGetAttribute() / setAttributeWithoutSynchronization() when possible, for performance.

Source/WebCore:

* Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::installReplacement):
* dom/Element.h:
(WebCore::Element::setIdAttribute):
* editing/ApplyStyleCommand.cpp:
(WebCore::hasNoAttributeOrOnlyStyleAttribute):
(WebCore::createFontElement):
(WebCore::ApplyStyleCommand::applyInlineStyleChange):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
* editing/Editor.cpp:
(WebCore::Editor::setBaseWritingDirection):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::isMailPasteAsQuotationNode):
(WebCore::isInlineNodeWithStyle):
* editing/cocoa/DataDetection.mm:
(WebCore::DataDetection::detectContentInRange):
* editing/htmlediting.cpp:
(WebCore::createTabSpanElement):
* editing/ios/EditorIOS.mm:
(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):
(WebCore::Editor::WebContentReader::readURL):
* editing/mac/EditorMac.mm:
(WebCore::Editor::WebContentReader::readURL):
* editing/markup.cpp:
(WebCore::createFragmentFromText):
* html/BaseButtonInputType.cpp:
(WebCore::BaseButtonInputType::setValue):
* html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::setValue):
* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::appendEntry):
(WebCore::FTPDirectoryDocumentParser::createTDForFilename):
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::href):
(WebCore::HTMLAnchorElement::setHref):
(WebCore::HTMLAnchorElement::target):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::target):
* html/HTMLBaseElement.cpp:
(WebCore::HTMLBaseElement::setHref):
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::setType):
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::didAddUserAgentShadowRoot):
(WebCore::HTMLDetailsElement::toggleOpen):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::setBgColor):
(WebCore::HTMLDocument::setFgColor):
(WebCore::HTMLDocument::setAlinkColor):
(WebCore::HTMLDocument::setLinkColor):
(WebCore::HTMLDocument::setVlinkColor):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setDir):
(WebCore::HTMLElement::setContentEditable):
(WebCore::HTMLElement::setDraggable):
(WebCore::HTMLElement::setSpellcheck):
(WebCore::HTMLElement::setTranslate):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::setFormEnctype):
(WebCore::HTMLFormControlElement::setFormMethod):
(WebCore::HTMLFormControlElement::setAutocorrect):
(WebCore::HTMLFormControlElement::setAutocapitalize):
(WebCore::HTMLFormControlElement::setAutocomplete):
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::setAutocorrect):
(WebCore::HTMLFormElement::setAutocapitalize):
(WebCore::HTMLFormElement::setAction):
(WebCore::HTMLFormElement::setEnctype):
(WebCore::HTMLFormElement::setMethod):
(WebCore::HTMLFormElement::target):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
(WebCore::HTMLImageElement::setSrc):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setType):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::altText):
(WebCore::HTMLInputElement::setDefaultValue):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::href):
(WebCore::HTMLLinkElement::target):
(WebCore::HTMLLinkElement::type):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setSrc):
(WebCore::HTMLMediaElement::setPreload):
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::min):
(WebCore::HTMLMeterElement::setMin):
(WebCore::HTMLMeterElement::max):
(WebCore::HTMLMeterElement::setMax):
(WebCore::HTMLMeterElement::value):
(WebCore::HTMLMeterElement::setValue):
(WebCore::HTMLMeterElement::low):
(WebCore::HTMLMeterElement::setLow):
(WebCore::HTMLMeterElement::high):
(WebCore::HTMLMeterElement::setHigh):
(WebCore::HTMLMeterElement::optimum):
(WebCore::HTMLMeterElement::setOptimum):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::containsJavaApplet):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::createForJSConstructor):
(WebCore::HTMLOptionElement::setValue):
(WebCore::HTMLOptionElement::setLabel):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::setValue):
(WebCore::HTMLProgressElement::setMax):
* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::typeAttributeValue):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::setMultiple):
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::setSrc):
(WebCore::HTMLSourceElement::media):
(WebCore::HTMLSourceElement::setMedia):
(WebCore::HTMLSourceElement::type):
(WebCore::HTMLSourceElement::setType):
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::setAlign):
(WebCore::HTMLTableSectionElement::setCh):
(WebCore::HTMLTableSectionElement::chOff):
(WebCore::HTMLTableSectionElement::setChOff):
(WebCore::HTMLTableSectionElement::setVAlign):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::updateInnerTextElementEditability):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::imageSourceURL):
* html/HiddenInputType.cpp:
(WebCore::HiddenInputType::restoreFormControlState):
(WebCore::HiddenInputType::setValue):
* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocument::replaceMediaElementTimerFired):
* html/PluginDocument.cpp:
(WebCore::PluginDocumentParser::createDocumentStructure):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createAutoFillButton):
(WebCore::TextFieldInputType::updateAutoFillButton):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsContainerElement::create):
(WebCore::MediaControlTimelineElement::create):
(WebCore::MediaControlPanelVolumeSliderElement::create):
(WebCore::MediaControlFullscreenVolumeSliderElement::create):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
* html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::ImageControlsButtonElementMac::tryCreate):
* html/shadow/mac/ImageControlsRootElementMac.cpp:
(WebCore::ImageControlsRootElement::tryCreate):
* html/track/WebVTTElement.cpp:
(WebCore::WebVTTElement::createEquivalentHTMLElement):
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::createInspectorStyleSheetForDocument):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::buildObjectForFrame):
* mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::toggle):
* page/PageSerializer.cpp:
(WebCore::PageSerializer::serializeFrame):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::isOpen):
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::updateFromElement):
* svg/SVGElement.cpp:
(WebCore::SVGElement::setXmlbase):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::setContentScriptType):
(WebCore::SVGSVGElement::setContentStyleType):
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::setMedia):
(WebCore::SVGStyleElement::setTitle):

Source/WebKit/mac:

* WebView/WebHTMLRepresentation.mm:
(matchLabelsAgainstElement):

Source/WebKit/win:

* DOMHTMLClasses.cpp:
(DOMHTMLElement::idName):

Source/WebKit2:

* WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::createPasswordEntryForm):
* WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
(WebKit::PDFPluginAnnotation::attach):
* WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
(WebKit::PDFPluginChoiceAnnotation::createAnnotationElement):

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

3 years agoModernize StaticNodeList / StaticElementList
cdumez@apple.com [Fri, 15 Jul 2016 21:34:16 +0000 (21:34 +0000)]
Modernize StaticNodeList / StaticElementList
https://bugs.webkit.org/show_bug.cgi?id=159831

Reviewed by Ryosuke Niwa.

Modernize StaticNodeList / StaticElementList. Pass vector to adopt
as an rvalue reference instead of a non-const reference.

* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::namedItems):
* dom/ChildListMutationScope.cpp:
(WebCore::ChildListMutationAccumulator::enqueueMutationRecord):
* dom/MutationRecord.cpp:
* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::queryAll):
* dom/StaticNodeList.h:
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):
(WebCore::WebKitNamedFlow::getContent):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::collectIntersectionOrEnclosureList):
* testing/Internals.cpp:
(WebCore::Internals::nodesFromRect):

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

3 years agoBlock insecure script running in a data: frame when the top-level page is HTTPS
bfulgham@apple.com [Fri, 15 Jul 2016 21:18:33 +0000 (21:18 +0000)]
Block insecure script running in a data: frame when the top-level page is HTTPS
https://bugs.webkit.org/show_bug.cgi?id=125806
<rdar://problem/27331825>

Reviewed by Brady Eidson.

Fix based on a Blink change (patch by <tsepez@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/33e553bd96e040151c1472289a0d80803bfca3a5>

Source/WebCore:

Test: http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked.html

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::checkInsecureContent): Check the top-level frame's security state
before allowing insecure scripts to be used.

LayoutTests:

* http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked-expected.txt: Added.
* http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked.html: Added.
* http/tests/security/mixedContent/resources/frame-with-data-url-frame-with-script.html: Added.

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

3 years agoFunctionOverride's parseClause() needs to keep the CString instance in scope while...
mark.lam@apple.com [Fri, 15 Jul 2016 21:17:01 +0000 (21:17 +0000)]
FunctionOverride's parseClause() needs to keep the CString instance in scope while its data is being used.
https://bugs.webkit.org/show_bug.cgi?id=159828

Reviewed by Saam Barati.

Otherwise, we'll have a use after free.  This issue was caught when running an
ASan debug build of testapi.

* tools/FunctionOverrides.cpp:
(JSC::parseClause):

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

3 years agoLet the compiler generate QualifiedName copy constructor and assignment operator
cdumez@apple.com [Fri, 15 Jul 2016 21:01:45 +0000 (21:01 +0000)]
Let the compiler generate QualifiedName copy constructor and assignment operator
https://bugs.webkit.org/show_bug.cgi?id=159826

Reviewed by Alex Christensen.

Let the compiler generate QualifiedName copy constructor and assignment operator
as our custom implementation does nothing special. This also makes QualifiedName
movable as the compiler is now able to generate the move constructor / assignment
operator as well.

* dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedName): Deleted.
(WebCore::QualifiedName::operator=): Deleted.

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

3 years ago%TypedArray%.prototype.indexOf is coercing non-integers or non-floats to numbers...
keith_miller@apple.com [Fri, 15 Jul 2016 20:58:52 +0000 (20:58 +0000)]
%TypedArray%.prototype.indexOf is coercing non-integers or non-floats to numbers wrongly
https://bugs.webkit.org/show_bug.cgi?id=159400

Reviewed by Geoffrey Garen.

This patch fixes coercion of non-numbers in indexOf/lastIndexOf.
Additionally, this patch fixes an issue with includes where it
would not check that the buffer remained non-neutered after
calling the toInteger() function. Lastly, some extra release
asserts have been added in some places to inform us of any issues
in the future.

Additionally, this patch changes bool toNativeFromDouble to
Optional<Type> toNativeFromDoubleWithoutCoercion. This makes it a
little clearer what the function does and also removes the return
argument. The only behavior change is that the function no longer
coerces non-numbers into numbers. That behavior was unused (maybe
unintended), however.

* runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::toAdaptorNativeFromValueWithoutCoercion):
(JSC::JSGenericTypedArrayView::sort):
(JSC::JSGenericTypedArrayView::toAdaptorNativeFromValue): Deleted.
* runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
* runtime/ToNativeFromValue.h:
(JSC::toNativeFromValueWithoutCoercion):
(JSC::toNativeFromValue): Deleted.
* runtime/TypedArrayAdaptors.h:
(JSC::IntegralTypedArrayAdaptor::toNativeFromInt32WithoutCoercion):
(JSC::IntegralTypedArrayAdaptor::toNativeFromUint32WithoutCoercion):
(JSC::IntegralTypedArrayAdaptor::toNativeFromDoubleWithoutCoercion):
(JSC::FloatTypedArrayAdaptor::toNativeFromInt32WithoutCoercion):
(JSC::FloatTypedArrayAdaptor::toNativeFromDoubleWithoutCoercion):
(JSC::Uint8ClampedAdaptor::toNativeFromInt32WithoutCoercion):
(JSC::Uint8ClampedAdaptor::toNativeFromDoubleWithoutCoercion):
(JSC::IntegralTypedArrayAdaptor::toNativeFromInt32): Deleted.
(JSC::IntegralTypedArrayAdaptor::toNativeFromUint32): Deleted.
(JSC::IntegralTypedArrayAdaptor::toNativeFromDouble): Deleted.
(JSC::FloatTypedArrayAdaptor::toNativeFromInt32): Deleted.
(JSC::FloatTypedArrayAdaptor::toNativeFromDouble): Deleted.
(JSC::Uint8ClampedAdaptor::toNativeFromInt32): Deleted.
(JSC::Uint8ClampedAdaptor::toNativeFromDouble): Deleted.
* tests/stress/resources/typedarray-test-helper-functions.js:
* tests/stress/typedarray-functions-with-neutered.js:
(callWithArgs):
* tests/stress/typedarray-includes.js: Added.
* tests/stress/typedarray-indexOf.js:
* tests/stress/typedarray-lastIndexOf.js:

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

3 years agoDisable custom elements in Safari Tech Preview
rniwa@webkit.org [Fri, 15 Jul 2016 20:56:29 +0000 (20:56 +0000)]
Disable custom elements in Safari Tech Preview
https://bugs.webkit.org/show_bug.cgi?id=159829

Reviewed by Chris Dumez.

Disable custom elements API in Safari Technology Preview. Our implementation is so out of sync
with the latest spec that it's actively harmful to have this feature enabled.

* Shared/WebPreferencesDefinitions.h:

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

3 years agoFull screen ePub embedded video is playing on 1/4 screen, cut off
dino@apple.com [Fri, 15 Jul 2016 20:42:22 +0000 (20:42 +0000)]
Full screen ePub embedded video is playing on 1/4 screen, cut off
https://bugs.webkit.org/show_bug.cgi?id=159737
<rdar://problem/26259404>

Patch by Jer Noble <jer.noble@apple.com> on 2016-07-15
Reviewed by Tim Horton.

Set the fixedLayoutSize to CGSizeZero when disabling fixed layout due to the
WebView not supporting arbitrary layout modes, and reset to the saved value
when the view does begin supporting arbitrary layout modes.

* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::setFixedLayoutSize):
(WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):

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

3 years agoScrollView::setHasHorizontalScrollbar / setHasVerticalScrollbar duplicate their logic
tonikitoo@webkit.org [Fri, 15 Jul 2016 20:19:29 +0000 (20:19 +0000)]
ScrollView::setHasHorizontalScrollbar / setHasVerticalScrollbar duplicate their logic
https://bugs.webkit.org/show_bug.cgi?id=159825

Patch introduces a (private) method to ScrollView
to share the code/logic of setHas{Horizontal,Vertical}Scrollbar.

Patch by Antonio Gomes <tonikitoo@igalia.com> on 2016-07-15
Reviewed by Simon Fraser.

No new tests needed.

* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasScrollbarInternal):
(WebCore::ScrollView::setHasHorizontalScrollbar):
(WebCore::ScrollView::setHasVerticalScrollbar):
* platform/ScrollView.h:

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

3 years agoAdd new functions to ARMAssembler after r202214
ossy@webkit.org [Fri, 15 Jul 2016 20:03:39 +0000 (20:03 +0000)]
Add new functions to ARMAssembler after r202214
https://bugs.webkit.org/show_bug.cgi?id=159713

Reviewed by Saam Barati.

* assembler/ARMAssembler.h:
(JSC::ARMAssembler::fillNops):
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::patchableBranch32):
(JSC::MacroAssemblerARM::internalCompare32):

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

3 years agoSkipping test from r203288 on ios-simulator due to reliance upon mouse events.
ryanhaddad@apple.com [Fri, 15 Jul 2016 19:38:24 +0000 (19:38 +0000)]
Skipping test from r203288 on ios-simulator due to reliance upon mouse events.
https://bugs.webkit.org/show_bug.cgi?id=159818

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

3 years agoFixed content overflow and missing build information behavior.
jond@apple.com [Fri, 15 Jul 2016 19:27:54 +0000 (19:27 +0000)]
Fixed content overflow and missing build information behavior.
https://bugs.webkit.org/show_bug.cgi?id=159820

Reviewed by Timothy Hatcher.

* wp-content/themes/webkit/nightly-start.php:

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

3 years agoWeb Inspector: Make Open Quickly and Goto Line dialogs match Xcode 8
timothy@apple.com [Fri, 15 Jul 2016 19:01:56 +0000 (19:01 +0000)]
Web Inspector: Make Open Quickly and Goto Line dialogs match Xcode 8
https://bugs.webkit.org/show_bug.cgi?id=159823
rdar://problem/27376501

Reviewed by Brian Burg.

* UserInterface/Views/GoToLineDialog.css:
(.go-to-line-dialog):
(.go-to-line-dialog > div > input):
(.go-to-line-dialog > div > input::placeholder):
(.go-to-line-dialog > div > img):
(.go-to-line-dialog > div): Deleted.
* UserInterface/Views/OpenResourceDialog.css:
(.open-resource-dialog):
(.open-resource-dialog > .field):
(.open-resource-dialog > .field > input):
(.open-resource-dialog > .field > input::placeholder):
(.open-resource-dialog > .field > img):
(.open-resource-dialog > .tree-outline .item): Deleted.
(.open-resource-dialog > .tree-outline .item:first-child): Deleted.

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

3 years agoMathOperator: Improve alignment for vertical size variant
fred.wang@free.fr [Fri, 15 Jul 2016 18:47:16 +0000 (18:47 +0000)]
MathOperator: Improve alignment for vertical size variant
https://bugs.webkit.org/show_bug.cgi?id=158866

Patch by Frederic Wang <fwang@igalia.com> on 2016-07-15
Reviewed by Brent Fulgham.

Source/WebCore:

The MathOperator class may stretch operators with either a large glyph or a glyph assembly.
In the latter case, the assembly is adjusted to match the stretch ascent and descent
requested by the callers. But in the former case the glyph ascent and descent are used
instead. We solve this by making MathOperator::stretchTo only take a targetSize and let
callers do the vertical alignment they want. This improves the rendering of fences with some
math fonts (e.g. XITS) and allows to pass the two cases of mo-axis-height-1.html.

Test: imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html

* rendering/mathml/MathOperator.cpp:
(WebCore::MathOperator::stretchTo): Merge vertical and horizontal stretching into the same
function with only the targetSize as a parameter.
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::stretchTo): Updated to use the new signature.
(WebCore::RenderMathMLOperator::verticalStretchedOperatorShift): Helper function to calculate
the shift necessary to align the baseline of the MathOperator instance with the one of the
RenderMathMLOperator.
(WebCore::RenderMathMLOperator::firstLineBaseline): Adjust the baseline.
* rendering/mathml/RenderMathMLOperator.h: Declare verticalStretchedOperatorShift.
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::layoutBlock): Use the new signature. This function aligns the top
of the radical with the overbar so we do not need to adjust baseline alignment here.

LayoutTests:

We import the latest version of mo-axis-height-1.html and update the expectation now that we
pass the two cases (size variant and glyph assembly). We also rebaseline some pixel tests.

* imported/mathml-in-html5/fonts/math/axisheight5000-verticalarrow14000.woff: Updated.
* imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1-expected.txt: Updated to expect PASS.
* imported/mathml-in-html5/mathml/presentation-markup/operators/mo-axis-height-1.html: Updated to include the two tests.
* platform/gtk/mathml/opentype/vertical-expected.png: Rebaseline to take into account better alignment of size variant.
* platform/gtk/mathml/opentype/vertical-expected.txt: Ditto.
* platform/gtk/mathml/presentation/mo-stretch-expected.png: Ditto.
* platform/gtk/mathml/presentation/mo-stretch-expected.txt: Ditto.
* platform/ios-simulator/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
* platform/ios-simulator/mathml/presentation/mo-stretch-expected.txt: Ditto.
* platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Ditto.
* platform/mac/mathml/presentation/mo-stretch-expected.txt: Ditto.

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

3 years agoWebKit should prevent push/replace state with username in URL.
beidson@apple.com [Fri, 15 Jul 2016 18:39:27 +0000 (18:39 +0000)]
WebKit should prevent push/replace state with username in URL.
<rdar://problem/27361737> and https://bugs.webkit.org/show_bug.cgi?id=159818

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/security/history-username-password.html

* page/History.cpp:
(WebCore::History::stateObjectAdded): Don't allow URLs with usernames/passwords.

LayoutTests:

* http/tests/security/history-username-password-expected.txt: Added.
* http/tests/security/history-username-password.html: Added.

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

3 years agoUnreviewed, rolling out r203266.
ryanhaddad@apple.com [Fri, 15 Jul 2016 18:33:32 +0000 (18:33 +0000)]
Unreviewed, rolling out r203266.

This change caused editing/deleting/delete-emoji.html to time
out on El Capitan, crash under GuardMalloc

Reverted changeset:

"Support new emoji group candidates"
https://bugs.webkit.org/show_bug.cgi?id=159755
http://trac.webkit.org/changeset/203266

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

3 years agoStack overflow error for deeply nested classes.
mark.lam@apple.com [Fri, 15 Jul 2016 18:31:29 +0000 (18:31 +0000)]
Stack overflow error for deeply nested classes.
https://bugs.webkit.org/show_bug.cgi?id=157086

Reviewed by Geoffrey Garen.

Changed the StructureStubClearingWatchpoint destructor to iteratively destruct
its chain of next StructureStubClearingWatchpoints instead of recursively doing
so.

The added deep-StructureStubClearingWatchpoint-destructor-recursion.js test
produces a crash before the fix is applied, but takes about 14 minutes to run.
Hence, it is skipped.

* bytecode/StructureStubClearingWatchpoint.cpp:
(JSC::StructureStubClearingWatchpoint::~StructureStubClearingWatchpoint):
* tests/stress/deep-StructureStubClearingWatchpoint-destructor-recursion.js: Added.

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

3 years agoSource/WebCore:
fred.wang@free.fr [Fri, 15 Jul 2016 18:24:47 +0000 (18:24 +0000)]
Source/WebCore:
Move parsing of mfrac attributes into a MathMLFractionElement class
https://bugs.webkit.org/show_bug.cgi?id=159624

Patch by Frederic Wang <fwang@igalia.com> on 2016-07-15
Reviewed by Brent Fulgham.

We move the parsing of mfrac attributes to a MathMLFractionElement class. This allows to
minimize the updates in RenderMathMLFraction and to remove the alignment members. Many of
the members in updateLayoutParameters are actually only used in layoutBlock and could be
removed in a follow-up patch. We also improve the resolution of negative line thickness value
since the MathML recommendation says it should be rounded up to the nearest valid
value (which is zero) instead of ignoring the attribute and using the line thickness.

No new tests, already covered by existing tests.

* CMakeLists.txt: Add MathMLFractionElement.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* mathml/MathMLAllInOne.cpp: Ditto.
* mathml/MathMLFractionElement.cpp: Added.
(WebCore::MathMLFractionElement::MathMLFractionElement):
(WebCore::MathMLFractionElement::create):
(WebCore::MathMLFractionElement::lineThickness): Return the cached linethickness length,
parsing it again if it is dirty. This handles the special values "thin", "medium" and "thick"
or fallback to the general parseMathMLLength for MathML lengths.
(WebCore::MathMLFractionElement::cachedFractionAlignment): Return the cached alignment value,
parsing it again if it is dirty.
(WebCore::MathMLFractionElement::numeratorAlignment): Return the cached alignment.
(WebCore::MathMLFractionElement::denominatorAlignment): Ditto.
(WebCore::MathMLFractionElement::parseAttribute): Make attributes dirty.
(WebCore::MathMLFractionElement::createElementRenderer): Create a RenderMathMLFraction.
* mathml/MathMLFractionElement.h: Added.
* mathml/MathMLInlineContainerElement.cpp: We no longer need to handle fraction here.
(WebCore::MathMLInlineContainerElement::createElementRenderer):
* mathml/mathtags.in: Use MathMLFractionElement for mfrac.
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::updateLayoutParameters): New helper function to set the
layout parameters, replacing updateFromElement. We no longer parse and store the alignment
values here. We also change the resolution of negative values.
(WebCore::RenderMathMLFraction::horizontalOffset): Use the enum from MathMLFractionElement.
(WebCore::RenderMathMLFraction::layoutBlock): We call updateLayoutParameters instead of
updateFromElement. The numerator and denominator alignments are resolved here.
(WebCore::RenderMathMLFraction::parseAlignmentAttribute): Deleted. Parsing of alignment
attribute is now handled in MathMLFractionElement.
(WebCore::RenderMathMLFraction::updateFromElement): Deleted. Attribute changes are now
handled in MathMLFractionElement.
(WebCore::RenderMathMLFraction::styleDidChange): Deleted. Font changes are properly handled.
* rendering/mathml/RenderMathMLFraction.h: Update declarations.

LayoutTests:
Move parsing of mfrac attributes into a MathMLFractionElementClass
https://bugs.webkit.org/show_bug.cgi?id=159624

Patch by Frederic Wang <fwang@igalia.com> on 2016-07-15
Reviewed by Brent Fulgham.

We update the expectation for negative linethickness. As indicated in the MathML
recommendation, it should be rounded up to the nearest valid value, which is 0.

* mathml/presentation/mfrac-linethickness2.html: Update the comment to reflect the new behavior.
* mathml/presentation/mfrac-linethickness2-expected.html: Use 0px as the reference for negative values.

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

3 years agoChanged the start page URL for WebKit Nightly builds.
jond@apple.com [Fri, 15 Jul 2016 18:06:17 +0000 (18:06 +0000)]
Changed the start page URL for WebKit Nightly builds.
https://bugs.webkit.org/show_bug.cgi?id=159816

Reviewed by Timothy Hatcher.

* WebKitLauncher/start.html:

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

3 years agoMerge InlineBidiResolver end-of-line Blink test case
bfulgham@apple.com [Fri, 15 Jul 2016 17:41:56 +0000 (17:41 +0000)]
Merge InlineBidiResolver end-of-line Blink test case
https://bugs.webkit.org/show_bug.cgi?id=126201
<rdar://problem/27331789>

Test case is from the Blink change (patch by <igor.o@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/d34ca9bbbdf71905d61aa45def30063311508a64>

* fast/text/international/bidi-crash-reached-end-of-line-expected.txt: Added.
* fast/text/international/bidi-crash-reached-end-of-line.html: Added.

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

3 years agoMerge Blink test case
bfulgham@apple.com [Fri, 15 Jul 2016 17:35:07 +0000 (17:35 +0000)]
Merge Blink test case
https://bugs.webkit.org/show_bug.cgi?id=123870

Patch is from the Blink change (patch by <morritaw@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/2abd63ccea97b1fcf25b337c76f12e6ad1bfc025>

* fast/dom/mutation-details-focus-expected.txt: Added.
* fast/dom/mutation-details-focus.html: Added.

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

3 years agoUpdating TestExpectations after r203267
ryanhaddad@apple.com [Fri, 15 Jul 2016 17:30:58 +0000 (17:30 +0000)]
Updating TestExpectations after r203267
https://bugs.webkit.org/show_bug.cgi?id=159817

Unreviewed test gardening.

* TestExpectations:

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

3 years agoCheck whether font is nonnull for GlyphData instead of calling GlyphData::isValid()
commit-queue@webkit.org [Fri, 15 Jul 2016 17:03:45 +0000 (17:03 +0000)]
Check whether font is nonnull for GlyphData instead of calling GlyphData::isValid()
https://bugs.webkit.org/show_bug.cgi?id=159783

Patch by Frederic Wang <fwang@igalia.com> on 2016-07-15
Reviewed by Brent Fulgham.

GlyphData::isValid() returns true for GlyphData with null 'font' pointer when the 'glyph'
index is nonzero. This behavior is not expected by the MathML code and we have had crashes
in our test suite in the past on Windows (e.g. bug 140653). We thus replace the call to
GlyphData::isValid() with a stronger verification: Whether the 'font' pointer is nonzero.

No new tests, this only makes null pointer checks stronger.

* rendering/mathml/MathOperator.cpp:
(WebCore::boundsForGlyph):
(WebCore::advanceWidthForGlyph):
(WebCore::MathOperator::getBaseGlyph):
(WebCore::MathOperator::setSizeVariant):
(WebCore::MathOperator::fillWithVerticalExtensionGlyph):
(WebCore::MathOperator::fillWithHorizontalExtensionGlyph):
(WebCore::MathOperator::paintVerticalGlyphAssembly):
(WebCore::MathOperator::paintHorizontalGlyphAssembly):
(WebCore::MathOperator::paint):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
* rendering/mathml/RenderMathMLToken.cpp:
(WebCore::RenderMathMLToken::computePreferredLogicalWidths):
(WebCore::RenderMathMLToken::firstLineBaseline):
(WebCore::RenderMathMLToken::layoutBlock):
(WebCore::RenderMathMLToken::paint):
(WebCore::RenderMathMLToken::paintChildren):

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

3 years agoAdd DejaVu Math TeX Gyre to the list of math fonts.
commit-queue@webkit.org [Fri, 15 Jul 2016 16:51:56 +0000 (16:51 +0000)]
Add DejaVu Math TeX Gyre to the list of math fonts.
https://bugs.webkit.org/show_bug.cgi?id=159805

Patch by Frederic Wang <fwang@igalia.com> on 2016-07-15
Reviewed by Brent Fulgham.

DejaVu 2.36 has a new math font that can be used for MathML rendering. Because this font is
likely to be installed on many systems (Linux, LibreOffice, etc) we include it in the default
list of font-families in mathml.css in order to increase the chance to find a math font.

No new tests, it only affects rendering when DejaVu Math TeX Gyre is installed on the system.

* css/mathml.css:
(math):

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

3 years agoImport more tests from the MathML in HTML5 test suite
commit-queue@webkit.org [Fri, 15 Jul 2016 16:48:17 +0000 (16:48 +0000)]
Import more tests from the MathML in HTML5 test suite
https://bugs.webkit.org/show_bug.cgi?id=159715

Patch by Frederic Wang <fwang@igalia.com> on 2016-07-15
Reviewed by Brent Fulgham.

* imported/mathml-in-html5/fonts/math/lineheight5000-typolineheight2300.woff: Added.
* imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5-expected.txt: Added.
* imported/mathml-in-html5/mathml/presentation-markup/scripts/subsup-5.html: Added.
* imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1-expected.txt: Added.
* imported/mathml-in-html5/mathml/presentation-markup/spaces/space-1.html: Added.
* imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2-expected.html: Added.
* imported/mathml-in-html5/mathml/presentation-markup/spaces/space-2.html: Added.
* imported/mathml-in-html5/mathml/relations/css-styling/color-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/css-styling/color-1.html: Added.
* imported/mathml-in-html5/mathml/relations/css-styling/visibility-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/css-styling/visibility-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/class-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/class-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/class-2-expected.txt: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/class-2.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/color-attributes-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/display-1-expected.txt: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/display-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/dynamic-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-2.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/integration-point-3.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1-expected.txt: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/namespace-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1-expected.txt: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-1.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/required-extensions-2.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2-expected.txt: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-2.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/html5-tree/unique-identifier-3.html: Added.
* imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1-expected.html: Added.
* imported/mathml-in-html5/mathml/relations/text-and-math/use-typo-metrics-1.html: Added.
* platform/ios-simulator/TestExpectations: Mark use-typo-metrics-1.html as failing.
* platform/mac/TestExpectations: Ditto.

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

3 years ago[MSE] Increase the SourceBuffer "fudge factor"
eric.carlson@apple.com [Fri, 15 Jul 2016 16:42:21 +0000 (16:42 +0000)]
[MSE] Increase the SourceBuffer "fudge factor"
https://bugs.webkit.org/show_bug.cgi?id=159813
<rdar://problem/27372033>

Reviewed by Jon Lee.
Source/WebCore:

Some media encoding/conversion pipelines are sloppy when doing sample time/timescale
math, and the error accumulation results in small gaps in the media timeline. r202641
increased the maximum allowable gap from 0.01 second to one 24fps frame, but it turns
out that at least one large provider has a significant amount of content encoded with
up to two 24fps frames.

No new tests, updated media/media-source/media-source-small-gap.html.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::currentTimeFudgeFactor): Increase maximum gap to 2002 / 24000 frames.

LayoutTests:

* media/media-source/media-source-small-gap-expected.txt:
* media/media-source/media-source-small-gap.html:

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

3 years agoFix expectations in test262.yaml
ossy@webkit.org [Fri, 15 Jul 2016 14:52:47 +0000 (14:52 +0000)]
Fix expectations in test262.yaml
https://bugs.webkit.org/show_bug.cgi?id=159810

Reviewed by Keith Miller.

* tests/test262.yaml:

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

3 years agoAdd final keyword to WebCore/svg classes
commit-queue@webkit.org [Fri, 15 Jul 2016 12:46:45 +0000 (12:46 +0000)]
Add final keyword to WebCore/svg classes
https://bugs.webkit.org/show_bug.cgi?id=159802

Patch by Rawinder Singh <rawinder.singh-webkit@cisra.canon.com.au> on 2016-07-15
Reviewed by Youenn Fablet.

Updated classes in the WebCore/svg directory to be marked as final where appropriate.

* svg/SVGException.h:
* svg/SVGLengthList.h:
* svg/SVGMatrix.h:
* svg/SVGNumberList.h:
* svg/SVGPaint.h:
* svg/SVGPathBuilder.h:
* svg/SVGPathByteStreamBuilder.h:
* svg/SVGPathByteStreamSource.h:
* svg/SVGPathSegArcAbs.h:
* svg/SVGPathSegArcRel.h:
* svg/SVGPathSegClosePath.h:
* svg/SVGPathSegCurvetoCubicAbs.h:
* svg/SVGPathSegCurvetoCubicRel.h:
* svg/SVGPathSegCurvetoCubicSmoothAbs.h:
* svg/SVGPathSegCurvetoCubicSmoothRel.h:
* svg/SVGPathSegCurvetoQuadraticAbs.h:
* svg/SVGPathSegCurvetoQuadraticRel.h:
* svg/SVGPathSegCurvetoQuadraticSmoothAbs.h:
* svg/SVGPathSegCurvetoQuadraticSmoothRel.h:
* svg/SVGPathSegLinetoAbs.h:
* svg/SVGPathSegLinetoHorizontalAbs.h:
* svg/SVGPathSegLinetoHorizontalRel.h:
* svg/SVGPathSegLinetoRel.h:
* svg/SVGPathSegLinetoVerticalAbs.h:
* svg/SVGPathSegLinetoVerticalRel.h:
* svg/SVGPathSegListBuilder.h:
* svg/SVGPathSegListSource.h:
* svg/SVGPathSegMovetoAbs.h:
* svg/SVGPathSegMovetoRel.h:
* svg/SVGPathStringSource.h:
* svg/SVGPathTraversalStateBuilder.h:
* svg/SVGPointList.h:
* svg/SVGRenderingIntent.h:
* svg/SVGStringList.h:
* svg/SVGTRefElement.cpp:
* svg/SVGToOTFFontConversion.cpp:
* svg/SVGTransformList.h:
* svg/SVGUnitTypes.h:
* svg/SVGViewSpec.h:
* svg/SVGZoomEvent.h:
* svg/animation/SMILTimeContainer.h:
* svg/animation/SVGSMILElement.cpp:
* svg/graphics/filters/SVGFEImage.h:
* svg/graphics/filters/SVGFilter.h:
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
* svg/properties/SVGAnimatedPropertyTearOff.h:
* svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
* svg/properties/SVGMatrixTearOff.h:
* svg/properties/SVGPathSegListPropertyTearOff.h:
* svg/properties/SVGStaticListPropertyTearOff.h:
* svg/properties/SVGStaticPropertyTearOff.h:
* svg/properties/SVGTransformListPropertyTearOff.h:

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

3 years agoUninitialized variable in DIBPixelData can cause a dangerous memory write
pvollan@apple.com [Fri, 15 Jul 2016 12:38:37 +0000 (12:38 +0000)]
Uninitialized variable in DIBPixelData can cause a dangerous memory write
https://bugs.webkit.org/show_bug.cgi?id=159414

Reviewed by Brent Fulgham.

Source/WebCore:

Initialize local BITMAP variable, in case the ::GetObject function that should initialize it
fails to do so, because the bitmap handle is invalid.

Tests: Tools/TestWebKitAPI/Tests/WebCore/win/DIBPixelData.cpp

* platform/graphics/win/DIBPixelData.cpp:
(WebCore::DIBPixelData::initialize): Initialize local variable.
(WebCore::DIBPixelData::setRGBABitmapAlpha): Return early if we have no bitmap.
* platform/graphics/win/DIBPixelData.h: Link fix.

Tools:

Add test to check that DIBPixelData::setRGBABitmapAlpha does not cause a crash
when the HDC parameter is invalid.

* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/Tests/WebCore/win/DIBPixelData.cpp: Added.
(TestWebKitAPI::TEST):

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

3 years agoRevert r202560 to fix the ARMv7 build with ARM instruction set
ossy@webkit.org [Fri, 15 Jul 2016 10:21:33 +0000 (10:21 +0000)]
Revert r202560 to fix the ARMv7 build with ARM instruction set
https://bugs.webkit.org/show_bug.cgi?id=159707

Reviewed by Carlos Garcia Campos.

* wtf/Platform.h: Revert r202560.

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

3 years ago[ARM] Disable Inline Caching on ARMv7 traditional until proper fix
ossy@webkit.org [Fri, 15 Jul 2016 09:43:33 +0000 (09:43 +0000)]
[ARM] Disable Inline Caching on ARMv7 traditional until proper fix
https://bugs.webkit.org/show_bug.cgi?id=159759

Reviewed by Saam Barati.

* jit/Repatch.cpp:
(JSC::forceICFailure):

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

3 years ago[GTK] Add basic tabs support to MiniBrowser
carlosgc@webkit.org [Fri, 15 Jul 2016 09:25:15 +0000 (09:25 +0000)]
[GTK] Add basic tabs support to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=159803

Reviewed by Sergio Villar Senin.

It's quite common to have issues with web views loaded in secondary tabs, and we need to use an external browser
like epiphany to debug those issues. It would be a lot easier to work on those bugs if we could use the MiniBrowser.

* MiniBrowser/gtk/BrowserTab.c: Added.
(titleChanged):
(isLoadingChanged):
(decidePolicy):
(removeChildIfInfoBar):
(loadChanged):
(createInfoBarQuestionMessage):
(tlsErrorsDialogResponse):
(loadFailedWithTLSerrors):
(permissionRequestDialogResponse):
(decidePermissionRequest):
(colorChooserRGBAChanged):
(popoverColorClosed):
(colorChooserRequestFinished):
(runColorChooserCallback):
(inspectorOpenedInWindow):
(inspectorClosed):
(browserTabSetProperty):
(browserTabFinalize):
(browser_tab_init):
(browserTabConstructed):
(browser_tab_class_init):
(getInternalURI):
(browser_tab_new):
(browser_tab_get_web_view):
(browser_tab_load_uri):
(browser_tab_get_title_widget):
(browser_tab_set_status_text):
(browser_tab_toggle_inspector):
(browser_tab_start_search):
(browser_tab_stop_search):
(browser_tab_add_accelerators):
(fullScreenMessageTimeoutCallback):
(browser_tab_enter_fullscreen):
(browser_tab_leave_fullscreen):
* MiniBrowser/gtk/BrowserTab.h: Added.
* MiniBrowser/gtk/BrowserWindow.c:
(getExternalURI):
(browserWindowSetStatusText):
(reloadOrStopCallback):
(goBackCallback):
(goForwardCallback):
(settingsCallback):
(webViewURIChanged):
(browserWindowHistoryItemActivated):
(browserWindowUpdateNavigationActions):
(webViewCreate):
(webViewEnterFullScreen):
(webViewLeaveFullScreen):
(webViewDecidePolicy):
(browserWindowCanZoomIn):
(browserWindowCanZoomOut):
(browserWindowZoomIn):
(browserWindowZoomOut):
(scrollEventCallback):
(faviconChanged):
(webViewIsLoadingChanged):
(defaultZoomCallback):
(searchCallback):
(newTabCallback):
(toggleWebInspector):
(reloadPage):
(reloadPageIgnoringCache):
(stopPageLoad):
(loadHomePage):
(editingCommandCallback):
(insertImageCommandCallback):
(insertLinkCommandCallback):
(browserWindowSetupEditorToolbar):
(browserWindowSwitchTab):
(browserWindowTabAddedOrRemoved):
(browser_window_init):
(browserWindowConstructed):
(browserWindowSaveSession):
(browserWindowDeleteEvent):
(browser_window_new):
(browser_window_append_view):
(browser_window_load_uri):
(browser_window_load_session):
(browser_window_set_background_color):
(resetStatusText): Deleted.
(activateUriEntryCallback): Deleted.
(webViewTitleChanged): Deleted.
(resetEntryProgress): Deleted.
(browserWindowCreateBackForwardMenu): Deleted.
(webViewReadyToShow): Deleted.
(webViewLoadFailed): Deleted.
(webViewMouseTargetChanged): Deleted.
(browserWindowUpdateZoomActions): Deleted.
(webViewZoomLevelChanged): Deleted.
(updateUriEntryIcon): Deleted.
(zoomInCallback): Deleted.
(zoomOutCallback): Deleted.
(toggleFullScreen): Deleted.
(browserWindowEditingCommandToggleButtonSetActive): Deleted.
(browserWindowFinalize): Deleted.
(browser_window_class_init): Deleted.
* MiniBrowser/gtk/BrowserWindow.h:
* MiniBrowser/gtk/CMakeLists.txt:
* MiniBrowser/gtk/main.c:
(createBrowserTab):
(aboutURISchemeRequestCallback):
(main):
(parseBackgroundColor): Deleted.

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

3 years agoAdd Test262 test files and yaml
keith_miller@apple.com [Fri, 15 Jul 2016 06:03:25 +0000 (06:03 +0000)]
Add Test262 test files and yaml

Rubber Stamped by Benjamin Poulain.

This patch adds all the test262 test files and the yaml that drives
run-jsc-stress-tests.

* tests/test262.yaml: Added. Yaml file to drive the test262 test suite with our driver.
* tests/test262/LICENSE: Added. License for the test262 test suite.
* tests/test262/harness/: Added. Harness directory for the test262 tests.
* tests/test262/test/: Added. Directory with all the actual test files.

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

3 years agoChange CSSParser::sourceSize returning Optional<CSSParser::SourceSize>
yoav@yoav.ws [Fri, 15 Jul 2016 05:49:36 +0000 (05:49 +0000)]
Change CSSParser::sourceSize returning Optional<CSSParser::SourceSize>
https://bugs.webkit.org/show_bug.cgi?id=159666

Reviewed by Michael Catanzaro.

Source/WebCore:

Tests:
    fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html

* css/CSSGrammar.y.in: Avoid adding SourceSize to source_size_list when the value is a Nullopt.
* css/CSSParser.cpp:
(WebCore::CSSParser::sourceSize): Return a Nullopt when an invalid value is encountered.
* css/CSSParser.h:

LayoutTests:

Added a test to make sure that an invalid source-size value is skipped, but the next one is properly picked.

* fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt:
* fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html:

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

3 years agoReturn the correct value from Heap::externalMemorySize
commit-queue@webkit.org [Fri, 15 Jul 2016 04:59:08 +0000 (04:59 +0000)]
Return the correct value from Heap::externalMemorySize
https://bugs.webkit.org/show_bug.cgi?id=159797
<rdar://problem/27362446>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-07-14
Reviewed by Timothy Hatcher.

* heap/Heap.h:
(JSC::Heap::externalMemorySize):
We should have been returning m_externalMemorySize which is a subset
of m_extraMemorySize. In practice the difference can be small. A major
difference in "extra memory size" may be from deprecated memory size
and array buffer sizes.

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

3 years ago[RTL Scrollbars] Frame scrollbars don't move to the right when text direction changes...
tonikitoo@webkit.org [Fri, 15 Jul 2016 03:56:51 +0000 (03:56 +0000)]
[RTL Scrollbars] Frame scrollbars don't move to the right when text direction changes to RTL
https://bugs.webkit.org/show_bug.cgi?id=158252

Patch by Antonio Gomes <tonikitoo@igalia.com> on 2016-07-14
Reviewed by Myles C. Maxfield.

Source/WebCore:

When the 'dir' attribute changes either on body or on the document
element level, the associated FrameView does not trigger an update on
the frame level vertical scrollbar.

Patch adds a 'hook' so that RenderBox::styleDidChange can call in
order to get the document level scrollbar placed properly in the next
layout.

Test: fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement.html
      fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-2.html
      fast/scrolling/rtl-scrollbars-alternate-iframe-body-dir-attr-does-not-update-scrollbar-placement.html

* page/FrameView.cpp:
(WebCore::FrameView::topContentDirectionDidChange):
* page/FrameView.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):

LayoutTests:

* fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement.html: Added.
* fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-expected.txt: Added.
* fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-2.html: Added.
* fast/scrolling/rtl-scrollbars-alternate-body-dir-attr-does-not-update-scrollbar-placement-2-expected.html: Added.
* fast/scrolling/rtl-scrollbars-alternate-iframe-body-dir-attr-does-not-update-scrollbar-placement.html: Added.
* fast/scrolling/rtl-scrollbars-alternate-iframe-body-dir-attr-does-not-update-scrollbar-placement-expected.txt: Added.

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

3 years agoSupport new emoji group candidates
mmaxfield@apple.com [Fri, 15 Jul 2016 03:11:15 +0000 (03:11 +0000)]
Support new emoji group candidates
https://bugs.webkit.org/show_bug.cgi?id=159755
<rdar://problem/27325521>

Reviewed by Dean Jackson.

Source/WebCore:

There are a few code points which should be able to be joined (with ZWJ) to
either U+2640 or U+2642 to change the gender of the emoji. These patterns
should also work with an additional 0xFE0F variation selector. This patch
adds these new patterns to our existing emoji group candidate infrastructure.

Tests: fast/text/emoji-gender-2-3.html
       fast/text/emoji-gender-2-4.html
       fast/text/emoji-gender-2-5.html
       fast/text/emoji-gender-2-6.html
       fast/text/emoji-gender-2-7.html
       fast/text/emoji-gender-2-8.html
       fast/text/emoji-gender-2-9.html
       fast/text/emoji-gender-2.html
       fast/text/emoji-gender-3.html
       fast/text/emoji-gender-4.html
       fast/text/emoji-gender-5.html
       fast/text/emoji-gender-6.html
       fast/text/emoji-gender-7.html
       fast/text/emoji-gender-8.html
       fast/text/emoji-gender-9.html
       fast/text/emoji-gender-fe0f-3.html
       fast/text/emoji-gender-fe0f-4.html
       fast/text/emoji-gender-fe0f-5.html
       fast/text/emoji-gender-fe0f-6.html
       fast/text/emoji-gender-fe0f-7.html
       fast/text/emoji-gender-fe0f-8.html
       fast/text/emoji-gender-fe0f-9.html
       fast/text/emoji-gender.html
       fast/text/emoji-num-glyphs.html
       fast/text/emoji-single-parent-family-2.html
       fast/text/emoji-single-parent-family.html

* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Removed incorrect ASSERT()s.
* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::characterRangeCodePath):
* platform/text/CharacterProperties.h:
(WebCore::isEmojiGroupCandidate):

Source/WTF:

This patch doesn't update the rules for our cursor movement iterator, because
I don't know the language used for implementing these rules. These rules will
be updated in the near future. When they do,
editing/deleting/delete-emoji-expected.txt will need to be updated.

* wtf/text/TextBreakIterator.cpp:
(WTF::cursorMovementIterator):

LayoutTests:

Because this patch doesn't update the rules for our cursor movement
iterator, the new expected result for editing/deleting/delete-emoji.html
expects incorrect results. In the patch where we update these rules,
the expected result should also be updated.

Because these new emoji require system support, TestExpectations has
been updated to mark the tests as failing until the system support has
been added.

* TestExpectations:
* editing/deleting/delete-emoji-expected.txt:
* editing/deleting/delete-emoji.html:
* fast/text/emoji-gender-2-3-expected.html: Added.
* fast/text/emoji-gender-2-3.html: Added.
* fast/text/emoji-gender-2-4-expected.html: Added.
* fast/text/emoji-gender-2-4.html: Added.
* fast/text/emoji-gender-2-5-expected.html: Added.
* fast/text/emoji-gender-2-5.html: Added.
* fast/text/emoji-gender-2-6-expected.html: Added.
* fast/text/emoji-gender-2-6.html: Added.
* fast/text/emoji-gender-2-7-expected.html: Added.
* fast/text/emoji-gender-2-7.html: Added.
* fast/text/emoji-gender-2-8-expected.html: Added.
* fast/text/emoji-gender-2-8.html: Added.
* fast/text/emoji-gender-2-9-expected.html: Added.
* fast/text/emoji-gender-2-9.html: Added.
* fast/text/emoji-gender-2-expected-mismatch.html: Added.
* fast/text/emoji-gender-2.html: Added.
* fast/text/emoji-gender-3-expected.html: Added.
* fast/text/emoji-gender-3.html: Added.
* fast/text/emoji-gender-4-expected.html: Added.
* fast/text/emoji-gender-4.html: Added.
* fast/text/emoji-gender-5-expected.html: Added.
* fast/text/emoji-gender-5.html: Added.
* fast/text/emoji-gender-6-expected.html: Added.
* fast/text/emoji-gender-6.html: Added.
* fast/text/emoji-gender-7-expected.html: Added.
* fast/text/emoji-gender-7.html: Added.
* fast/text/emoji-gender-8-expected.html: Added.
* fast/text/emoji-gender-8.html: Added.
* fast/text/emoji-gender-9-expected.html: Added.
* fast/text/emoji-gender-9.html: Added.
* fast/text/emoji-gender-expected-mismatch.html: Added.
* fast/text/emoji-gender-fe0f-3-expected.html: Added.
* fast/text/emoji-gender-fe0f-3.html: Added.
* fast/text/emoji-gender-fe0f-4-expected.html: Added.
* fast/text/emoji-gender-fe0f-4.html: Added.
* fast/text/emoji-gender-fe0f-5-expected.html: Added.
* fast/text/emoji-gender-fe0f-5.html: Added.
* fast/text/emoji-gender-fe0f-6-expected.html: Added.
* fast/text/emoji-gender-fe0f-6.html: Added.
* fast/text/emoji-gender-fe0f-7-expected.html: Added.
* fast/text/emoji-gender-fe0f-7.html: Added.
* fast/text/emoji-gender-fe0f-8-expected.html: Added.
* fast/text/emoji-gender-fe0f-8.html: Added.
* fast/text/emoji-gender-fe0f-9-expected.html: Added.
* fast/text/emoji-gender-fe0f-9.html: Added.
* fast/text/emoji-gender.html: Added.
* fast/text/emoji-num-glyphs-expected.txt: Added.
* fast/text/emoji-num-glyphs.html: Added.
* fast/text/emoji-single-parent-family-2-expected-mismatch.html: Added.
* fast/text/emoji-single-parent-family-2.html: Added.
* fast/text/emoji-single-parent-family-expected-mismatch.html: Added.
* fast/text/emoji-single-parent-family.html: Added.

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

3 years agoCrashTracer: com.apple.WebKit.WebContent at WebCore: WebCore::MediaQueryEvaluator...
dino@apple.com [Fri, 15 Jul 2016 02:31:20 +0000 (02:31 +0000)]
CrashTracer: com.apple.WebKit.WebContent at WebCore: WebCore::MediaQueryEvaluator::evaluate const
https://bugs.webkit.org/show_bug.cgi?id=159799
<rdar://problem/27346959>

Reviewed by Myles Maxfield.

Speculative fix for this crash, which seems to happen when asking for the Node's
renderer(). From the incoming crash logs, it is triggered by mutations on
a <picture> or <img> element, which would require choosing a new source,
and causing some media queries to evaluate.

The only place in MediaQueryEvaluator that has anything to do with
renderers is when gathering up some style information to pass to the
actual evaluation function. I put a guard against a missing documentElement
in there.

* css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::evaluate): Make sure documentElement is not
null.

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

3 years agoUpdate HTML*Element class override methods in final classes
commit-queue@webkit.org [Fri, 15 Jul 2016 02:17:24 +0000 (02:17 +0000)]
Update HTML*Element class override methods in final classes
https://bugs.webkit.org/show_bug.cgi?id=159456

Patch by Rawinder Singh <rawinder.singh-webkit@cisra.canon.com.au> on 2016-07-14
Reviewed by Youenn Fablet.

Update HTML*Element classes so that overriden methods in final classes are marked final.
Also marked HTMLDivElement overriden methods as final since they are not overridden by derived classes.

* html/HTMLAppletElement.h:
* html/HTMLAreaElement.h:
* html/HTMLAttachmentElement.h:
* html/HTMLAudioElement.h:
* html/HTMLBRElement.h:
* html/HTMLBaseElement.h:
* html/HTMLBodyElement.h:
* html/HTMLButtonElement.h:
* html/HTMLCanvasElement.h:
* html/HTMLDataElement.h:
* html/HTMLDetailsElement.h:
* html/HTMLDivElement.h:
* html/HTMLEmbedElement.h:
* html/HTMLFieldSetElement.h:
* html/HTMLFontElement.h:
* html/HTMLFormElement.h:
* html/HTMLFrameSetElement.h:
* html/HTMLHRElement.h:
* html/HTMLHtmlElement.h:
* html/HTMLKeygenElement.h:
* html/HTMLLIElement.h:
* html/HTMLLabelElement.h:
* html/HTMLLegendElement.h:
* html/HTMLLinkElement.h:
* html/HTMLMapElement.h:
* html/HTMLMarqueeElement.h:
* html/HTMLMetaElement.h:
* html/HTMLMeterElement.h:
* html/HTMLModElement.h:
* html/HTMLOListElement.h:
* html/HTMLObjectElement.h:
* html/HTMLOptGroupElement.h:
* html/HTMLOptionElement.h:
* html/HTMLOutputElement.h:
* html/HTMLParagraphElement.h:
* html/HTMLParamElement.h:
* html/HTMLPreElement.h:
* html/HTMLProgressElement.h:
* html/HTMLQuoteElement.h:
* html/HTMLScriptElement.h:
* html/HTMLSourceElement.h:
* html/HTMLStyleElement.h:
* html/HTMLSummaryElement.h:
* html/HTMLTableCaptionElement.h:
* html/HTMLTableColElement.h:
* html/HTMLTableElement.h:
* html/HTMLTableSectionElement.h:
* html/HTMLTemplateElement.h:
* html/HTMLTextAreaElement.h:
* html/HTMLTitleElement.h:
* html/HTMLUListElement.h:
* html/HTMLUnknownElement.h:
* html/HTMLVideoElement.h:
* html/HTMLWBRElement.h:

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

3 years agoIt should be a syntax error to have a 'use strict' directive inside a function that...
sbarati@apple.com [Fri, 15 Jul 2016 02:11:42 +0000 (02:11 +0000)]
It should be a syntax error to have a 'use strict' directive inside a function that has a non-simple parameter list
https://bugs.webkit.org/show_bug.cgi?id=159790
<rdar://problem/27171636>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Is is a syntax error for a function's parameter list to be non-simple
and for the function to also contain a 'use strict' directive.

See section 14.2.1 of the spec:
https://tc39.github.io/ecma262/#sec-arrow-function-definitions-static-semantics-early-errors

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseSourceElements):
(JSC::Parser<LexerType>::parseFormalParameters):
* parser/Parser.h:
(JSC::Scope::Scope):
(JSC::Scope::strictMode):
(JSC::Scope::isValidStrictMode):
(JSC::Scope::shadowsArguments):
(JSC::Scope::setHasNonSimpleParameterList):
(JSC::Scope::hasNonSimpleParameterList):
(JSC::Scope::copyCapturedVariablesToVector):

LayoutTests:

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

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

3 years agoModernize GlyphMetricsMap
cdumez@apple.com [Fri, 15 Jul 2016 02:07:45 +0000 (02:07 +0000)]
Modernize GlyphMetricsMap
https://bugs.webkit.org/show_bug.cgi?id=159788

Reviewed by Darin Adler.

Modernize GlyphMetricsMap a bit.

* platform/graphics/GlyphMetricsMap.h:
- Drop WTF_MAKE_NONCOPYABLE as the class is already non-copyable due to having
  to having a std::unique_ptr data member.
- Drop GlyphMetricsMap default constructor and let the compiler generate it
  instead. This required using inline initialization for m_filledPrimaryPage.

(WebCore::GlyphMetricsMap::GlyphMetricsPage::GlyphMetricsPage):
- Make m_metrics data member private as it does not need to be public.
- Make setMetricsForIndex(unsigned index, const T& metrics) setter private
  as it does not need to be public.
- Make GlyphMetricsPage(const T& initialValue) constructor explicit as it
  takes only 1 parameter.

(WebCore::GlyphMetricsMap<T>::locatePageSlowCase):
- Use HashMap::ensure() to make the code a bit nicer.

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

3 years ago[iOS WK2] When scrolling apple.com/music on iPad Pro in landscape, left-hand tiles...
simon.fraser@apple.com [Fri, 15 Jul 2016 01:46:25 +0000 (01:46 +0000)]
[iOS WK2] When scrolling apple.com/music on iPad Pro in landscape, left-hand tiles appear first
https://bugs.webkit.org/show_bug.cgi?id=159798
rdar://problem/27362717

Reviewed by Tim Horton.
Source/WebCore:

In out-of-visible tiled layers, we always allocated the top-left tile, wasting
memory and causing ugliness when scrolling that layer into view. This happened
because getTileIndexRangeForRect() had no way to express the fact that no tiles
should be created.

Fix getTileIndexRangeForRect() to return a bool, and fix callers to respect the
return value.

Test: compositing/tiling/offscreen-tiled-layer.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::dumpAdditionalProperties):
* platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::setNeedsDisplayInRect):
(WebCore::TileGrid::tilesWouldChangeForCoverageRect):
(WebCore::TileGrid::getTileIndexRangeForRect):
(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::ensureTilesForRect):
(WebCore::TileGrid::extent):
* platform/graphics/ca/TileGrid.h:

LayoutTests:

Test with an offscreen tiled layer.

* compositing/tiling/offscreen-tiled-layer-expected.txt: Added.
* compositing/tiling/offscreen-tiled-layer.html: Added.
* platform/ios-simulator-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt: Added.
* platform/ios-simulator-wk2/compositing/tiling/offscreen-tiled-layer-expected.txt: Added.
* platform/mac-wk1/compositing/tiling/offscreen-tiled-layer-expected.txt: Added.

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

3 years agoSkipping editing/spelling/copy-paste-crash.html on ios-simulator.
ryanhaddad@apple.com [Fri, 15 Jul 2016 00:52:15 +0000 (00:52 +0000)]
Skipping editing/spelling/copy-paste-crash.html on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=142969

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

3 years agoMerge Blink test case
bfulgham@apple.com [Fri, 15 Jul 2016 00:39:51 +0000 (00:39 +0000)]
Merge Blink test case
https://bugs.webkit.org/show_bug.cgi?id=117422

Patch is from a set of Blink changes (patches by <leviw@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/507e1576555bd2ce6688206f28339c25761893b1>
<https://chromium.googlesource.com/chromium/blink/+/4c95872f52340cf0cf9a2a7078bb63a94f38d302>

* fast/list/list-style-position-inside-expected.txt: Added.
* fast/list/list-style-position-inside.html: Added.
* fast/sub-pixel/float-list-inside-expected.txt: Added.
* fast/sub-pixel/float-list-inside.html: Added.

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

3 years agoRemove credentials in URL when accessed through location.href
wilander@apple.com [Fri, 15 Jul 2016 00:10:45 +0000 (00:10 +0000)]
Remove credentials in URL when accessed through location.href
https://bugs.webkit.org/show_bug.cgi?id=139562
<rdar://problem/27331164>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/security/location-href-clears-username-password.html

The reason for this change is to not allow scripts on the page to
exfiltrate username and password from the URL.

* page/Location.cpp:
(WebCore::Location::href):
    Now checks if there is a username or password in the URL. If so,
    it copies the URL and removes the username and password.

LayoutTests:

The reason for this change is to not allow scripts on the page to
exfiltrate username and password from the URL.

* http/tests/security/location-href-clears-username-password-expected.txt: Added.
* http/tests/security/location-href-clears-username-password.html: Added.
    Test case adapted from https://src.chromium.org/viewvc/blink?revision=189367&view=revision.

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

3 years agoAllow RefPtrs of const RefCounted types
commit-queue@webkit.org [Fri, 15 Jul 2016 00:00:36 +0000 (00:00 +0000)]
Allow RefPtrs of const RefCounted types
https://bugs.webkit.org/show_bug.cgi?id=158269

Patch by Alex Christensen <achristensen@webkit.org> on 2016-07-14
Reviewed by Anders Carlsson.

Source/WTF:

* wtf/RefCounted.h:
(WTF::RefCountedBase::ref):
(WTF::RefCountedBase::~RefCountedBase):
(WTF::RefCountedBase::derefBase):
(WTF::RefCounted::deref):
Creating references to a const object does not really modify the object,
so everything in RefCounted is now mutable, and ref and deref are const.

Tools:

* TestWebKitAPI/Tests/WTF/RefPtr.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::ConstRefCounted::create):
(TestWebKitAPI::returnConstRefCountedRef):
(TestWebKitAPI::returnRefCountedRef):

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

3 years agoImproved WebKit Nightly start page design.
jond@apple.com [Thu, 14 Jul 2016 23:46:55 +0000 (23:46 +0000)]
Improved WebKit Nightly start page design.
https://bugs.webkit.org/show_bug.cgi?id=159780

Reviewed by Timothy Hatcher.

Added better 404 handling, improved presentation of the
start page and new Apache rewrites for the P1 bug list.

* .htaccess:
* wp-content/themes/webkit/functions.php:
* wp-content/themes/webkit/nightly-start.php:

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

3 years agoMerge Blink test case
bfulgham@apple.com [Thu, 14 Jul 2016 23:45:41 +0000 (23:45 +0000)]
Merge Blink test case
https://bugs.webkit.org/show_bug.cgi?id=116507

Patch is from a Blink change (patch by <ojan@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/6598fc75a7260643ecfc42856ef24bcf96380443>

* compositing/iframes/crash-mouse-event-expected.txt: Added.
* compositing/iframes/crash-mouse-event.html: Added.

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

3 years agoWeb Inspector: Rename CCTNode to CallingContextTreeNode
commit-queue@webkit.org [Thu, 14 Jul 2016 23:38:13 +0000 (23:38 +0000)]
Web Inspector: Rename CCTNode to CallingContextTreeNode
https://bugs.webkit.org/show_bug.cgi?id=159782

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-07-14
Reviewed by Timothy Hatcher.

* UserInterface/Models/CallingContextTree.js:
* UserInterface/Models/CallingContextTreeNode.js:
Extra to its own file and rename.

* UserInterface/Main.html:
* UserInterface/Test.html:
* UserInterface/TestStub.html:
Include the new file.

* UserInterface/Views/ProfileDataGridNode.js:
(WebInspector.ProfileDataGridNode):
* UserInterface/Views/ProfileDataGridTree.js:
(WebInspector.ProfileDataGridTree.prototype._updateCurrentFocusDetails):
Rename shorthand "cctnode".

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

3 years agoWeb Inspector: SidebarPanel classes should use View.layout instead of "refresh"
mattbaker@apple.com [Thu, 14 Jul 2016 23:37:37 +0000 (23:37 +0000)]
Web Inspector: SidebarPanel classes should use View.layout instead of "refresh"
https://bugs.webkit.org/show_bug.cgi?id=159745
<rdar://problem/27335252>

Reviewed by Timothy Hatcher.

* UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.set applicationCacheFrame):
Use needsLayout.

* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.layout):
Move refresh logic to layout.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._styleSheetAddedOrRemoved):
Defer layout to coalesce updates.
(WebInspector.CSSStyleDetailsSidebarPanel):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh): Deleted.

* UserInterface/Views/DOMDetailsSidebarPanel.js:
(WebInspector.DOMDetailsSidebarPanel.prototype.set domNode):
Use needsLayout.

* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
Move refresh logic to layout.

* UserInterface/Views/DetailsSidebarPanel.js:
(WebInspector.DetailsSidebarPanel.prototype.shown): Deleted.
Base class already forces a layout when shown.
(WebInspector.DetailsSidebarPanel.prototype.needsRefresh): Deleted.
No longer needed.
(WebInspector.DetailsSidebarPanel.prototype.refresh): Deleted.
Renamed layout.
(WebInspector.DetailsSidebarPanel): Deleted.

* UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.supportsDOMNode):
(WebInspector.LayerTreeDetailsSidebarPanel.prototype._layerTreeDidChange):
Use needsLayout.
(WebInspector.LayerTreeDetailsSidebarPanel.prototype.shown):
Base class already forces a layout when shown.

* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
Use needsLayout.

* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.set callFrame):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpression):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._removeWatchExpression):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressions):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._refreshAllWatchExpressionsButtonClicked):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._didEvaluateExpression):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._mainResourceDidChange):
Use needsLayout.

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

3 years ago[css-grid] Handle min-content/max-content with orthogonal flows
jfernandez@igalia.com [Thu, 14 Jul 2016 23:33:13 +0000 (23:33 +0000)]
[css-grid] Handle min-content/max-content with orthogonal flows
https://bugs.webkit.org/show_bug.cgi?id=159294

Reviewed by Darin Adler.

Currently there is no support for orthogonal flows in many aspects of the
Grid Layout logic.

The Grid sizing algorithm should be adapted to this scenario, hence this
patch focus on the min-content and max-content functions, used to resolve
content based track sizes.

There are still issues related to alignment and sizes using percentages,
but they will be addressed in different patches.

Tests: fast/css-grid-layout/grid-item-positioning-with-orthogonal-flows.html
       fast/css-grid-layout/grid-item-sizing-with-orthogonal-flows.html
       fast/css-grid-layout/grid-item-spanning-and-orthogonal-flows.html
       fast/css-grid-layout/grid-track-sizing-with-orthogonal-flows.html
       fast/css-grid-layout/grid-track-sizing-with-percentages-and-orthogonal-flows.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::GridSizingData::advanceNextState):
(WebCore::RenderGrid::GridSizingData::isValidTransitionForDirection):
(WebCore::RenderGrid::computeTrackSizesForDirection):
(WebCore::RenderGrid::repeatTracksSizingIfNeeded): Added.
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeIntrinsicLogicalHeight):
(WebCore::hasOverrideContainingBlockContentSizeForChild):
(WebCore::overrideContainingBlockContentSizeForChild):
(WebCore::setOverrideContainingBlockContentSizeForChild):
(WebCore::shouldClearOverrideContainingBlockContentSizeForChild):
(WebCore::RenderGrid::gridTrackSize):
(WebCore::RenderGrid::isOrthogonalChild): Added.
(WebCore::RenderGrid::logicalHeightForChild):
(WebCore::RenderGrid::flowAwareDirectionForChild): Added.
(WebCore::RenderGrid::minSizeForChild):
(WebCore::RenderGrid::updateOverrideContainingBlockContentSizeForChild):
(WebCore::RenderGrid::minContentForChild):
(WebCore::RenderGrid::maxContentForChild):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::layoutPositionedObject):
(WebCore::RenderGrid::offsetAndBreadthForPositionedChild):
(WebCore::RenderGrid::assumedRowsSizeForOrthogonalChild): Added.
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::columnAxisPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild):
(WebCore::RenderGrid::findChildLogicalPosition):
* rendering/RenderGrid.h:
(WebCore::RenderGrid::SizingOperation): This enum has been moved to the header file.
(WebCore::RenderGrid::m_hasAnyOrthogonalChild): New class attribute to know if there are any orthogonal grid items.
(WebCore::RenderGrid::updateOverrideContainingBlockContentSizeForChild):
(WebCore::RenderGrid::logicalHeightForChild):
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::assumedRowsSizeForOrthogonalChild):

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

3 years agoUnreviewed, rolling out r203248.
ryanhaddad@apple.com [Thu, 14 Jul 2016 23:21:34 +0000 (23:21 +0000)]
Unreviewed, rolling out r203248.

This change causes LayoutTests to crash and exit early

Reverted changeset:

"Use more Refs with WorkQueues"
https://bugs.webkit.org/show_bug.cgi?id=159792
http://trac.webkit.org/changeset/203248

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

3 years agoUse emptyString() instead of "" when possible
cdumez@apple.com [Thu, 14 Jul 2016 23:17:51 +0000 (23:17 +0000)]
Use emptyString() instead of "" when possible
https://bugs.webkit.org/show_bug.cgi?id=159789

Reviewed by Alex Christensen.

Use emptyString() instead of "" when possible to reduce String allocations.

Source/WebCore:

* Modules/webdatabase/Database.cpp:
(WebCore::Database::performOpenAndVerify):
* css/CSSSelector.h:
* css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::removeProperty):
(WebCore::MutableStyleProperties::removeCustomProperty):
* editing/TextCheckingHelper.cpp:
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
(WebCore::TextCheckingHelper::findFirstBadGrammar):
* editing/TypingCommand.h:
(WebCore::TypingCommand::create):
* fileapi/FileReaderLoader.cpp:
(WebCore::FileReaderLoader::cleanup):
* inspector/InspectorStyleSheet.cpp:
(WebCore::fillMediaListChain):
* page/UserContentURLPattern.cpp:
(WebCore::UserContentURLPattern::parse):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::load):
* platform/gtk/DataObjectGtk.h:
(WebCore::DataObjectGtk::clearURIList):
* platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
* platform/network/curl/ResourceHandleManager.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::layerTreeAsText):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::updateContent):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::noneDashboardRegions):
* rendering/svg/SVGTextMetrics.cpp:
(WebCore::SVGTextMetrics::SVGTextMetrics):
* xml/XPathParser.cpp:
(WebCore::XPath::Parser::lexString):

Source/WebKit/cf:

* WebCoreSupport/WebInspectorClientCF.cpp:
(populateSetting):

Source/WebKit/win:

* Plugins/PluginView.cpp:
(WebCore::parseRFC822HeaderFields):

Source/WebKit2:

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::pasteboardChangedOwner):
* WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
(WebKit::parseRFC822HeaderFields):
(WebKit::NPN_Status):

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

3 years agoediting/spelling/spellcheck-async.html sometimes crashes with GuardMalloc
bfulgham@apple.com [Thu, 14 Jul 2016 23:15:20 +0000 (23:15 +0000)]
editing/spelling/spellcheck-async.html sometimes crashes with GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=142969
<rdar://problem/27331095>

Reviewed by Alex Christensen.

Fix based on a Blink change (patch by <rouslan@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/c713736b122c2224804b2db72f1f711cb47ee260%5E%21/#F1>

Source/WebCore:

Test: editing/spelling/copy-paste-crash.html
      editing/spelling/spellcheck-async.html

* editing/SpellChecker.cpp:
(WebCore::SpellCheckRequest::didSucceed):
(WebCore::SpellCheckRequest::didCancel):

LayoutTests:

* editing/spelling/copy-paste-crash-expected.txt: Added.
* editing/spelling/copy-paste-crash.html: Added.
* platform/platform/mac-wk2/TestExpectations: Skip test on mac-wk2 since all Spelling tests are
currently broken (see <https://webkit.org/b/105616>).

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

3 years agoUse more Refs with WorkQueues
achristensen@apple.com [Thu, 14 Jul 2016 23:04:29 +0000 (23:04 +0000)]
Use more Refs with WorkQueues
https://bugs.webkit.org/show_bug.cgi?id=159792

Reviewed by Brady Eidson.

* NetworkProcess/CustomProtocols/CustomProtocolManager.h:
* Platform/IPC/Connection.cpp:
(IPC::Connection::setShouldExitOnSyncMessageSendFailure):
(IPC::Connection::addWorkQueueMessageReceiver):
* Platform/IPC/Connection.h:
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::initializeConnection):
* UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
(WebKit::LocalStorageDatabaseTracker::create):
(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
* UIProcess/Storage/LocalStorageDatabaseTracker.h:
* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::openDatabaseAndImportItemsIfNeeded):
(WebKit::StorageManager::StorageManager):
* UIProcess/Storage/StorageManager.h:
* UIProcess/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::processWillOpenConnection):
(WebKit::WebResourceLoadStatisticsStore::processDidCloseConnection):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::initializeConnection):
(WebKit::SecItemShimProxy::secItemRequest):
* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::initializeConnection):
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::initializeConnection):
(WebKit::EventDispatcher::wheelEvent):
* WebProcess/WebPage/ViewUpdateDispatcher.cpp:
(WebKit::ViewUpdateDispatcher::initializeConnection):
(WebKit::ViewUpdateDispatcher::visibleContentRectUpdate):

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

3 years agoRemove duplicate TestExpectations entry.
ryanhaddad@apple.com [Thu, 14 Jul 2016 22:14:10 +0000 (22:14 +0000)]
Remove duplicate TestExpectations entry.

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

3 years agoImageBuffer's succes flag should be set to false at the very beginning of the c'tor.
zalan@apple.com [Thu, 14 Jul 2016 22:05:08 +0000 (22:05 +0000)]
ImageBuffer's succes flag should be set to false at the very beginning of the c'tor.
https://bugs.webkit.org/show_bug.cgi?id=159784

Reviewed by Simon Fraser.

No change in functionality.

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):

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

3 years agoWeb Automation: FrameNotFound errors happen a lot for the main frame
timothy@apple.com [Thu, 14 Jul 2016 21:52:52 +0000 (21:52 +0000)]
Web Automation: FrameNotFound errors happen a lot for the main frame
https://bugs.webkit.org/show_bug.cgi?id=159777
rdar://problem/27224628

Send both pageID and frameID, and have the WebProcess side resolve the
mainFrame from 0 based on the known pageID. This avoids a race waiting
for the DidCreateMainFrame message.

Reviewed by Brian Burg.

* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::webFrameIDForHandle):
(WebKit::WebAutomationSession::switchToBrowsingContext):
(WebKit::WebAutomationSession::evaluateJavaScriptFunction):
(WebKit::WebAutomationSession::resolveChildFrameHandle):
(WebKit::WebAutomationSession::resolveParentFrameHandle):
(WebKit::WebAutomationSession::computeElementLayout):
(WebKit::WebAutomationSession::getAllCookies):
(WebKit::WebAutomationSession::deleteSingleCookie):
(WebKit::WebAutomationSession::webFrameProxyForHandle): Deleted.
(WebKit::WebAutomationSession::webFrameIDForHandle): Added.
* UIProcess/Automation/WebAutomationSession.h:
* WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::evaluateJavaScriptFunction):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithOrdinal):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithNodeHandle):
(WebKit::WebAutomationSessionProxy::resolveChildFrameWithName):
(WebKit::WebAutomationSessionProxy::resolveParentFrame):
(WebKit::WebAutomationSessionProxy::focusFrame):
(WebKit::WebAutomationSessionProxy::computeElementLayout):
(WebKit::WebAutomationSessionProxy::takeScreenshot):
(WebKit::WebAutomationSessionProxy::getCookiesForFrame):
(WebKit::WebAutomationSessionProxy::deleteCookie):
* WebProcess/Automation/WebAutomationSessionProxy.h:
* WebProcess/Automation/WebAutomationSessionProxy.messages.in:

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

3 years agoUse SocketProvider to create SocketStreamHandles
achristensen@apple.com [Thu, 14 Jul 2016 21:43:03 +0000 (21:43 +0000)]
Use SocketProvider to create SocketStreamHandles
https://bugs.webkit.org/show_bug.cgi?id=159774

Source/WebCore:

Reviewed by Brady Eidson.

No new tests.  No change in behaviour.

In r202930 I introduced the SocketProvider, but I used it to make a WebSocketChannel
instead of a SocketStreamHandle, which is the class I want to make into an interface
and proxy the web traffic over to the NetworkProcess.

* CMakeLists.txt:
* Modules/websockets/ThreadableWebSocketChannel.cpp: Added.
(WebCore::ThreadableWebSocketChannel::create):
I removed this in 202930, so this is restoring it from that patch, hence the old copyright.
* Modules/websockets/ThreadableWebSocketChannel.h:
(WebCore::ThreadableWebSocketChannel::ThreadableWebSocketChannel):
* Modules/websockets/WebSocket.cpp:
(WebCore::WebSocket::connect):
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::connect):
* Modules/websockets/WebSocketChannel.h:
(WebCore::WebSocketChannel::create):
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::resume):
(WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::~Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WebCore::WorkerThreadableWebSocketChannel::create):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::create):
* WebCore.xcodeproj/project.pbxproj:
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::overlayPage):
* loader/EmptyClients.cpp:
(WebCore::EmptyEditorClient::registerRedoStep):
(WebCore::EmptySocketProvider::createWebSocketChannel): Deleted.
* loader/EmptyClients.h:
* page/SocketProvider.cpp: Added.
(WebCore::SocketProvider::createSocketStreamHandle):
* page/SocketProvider.h:
(WebCore::SocketProvider::~SocketProvider): Deleted.
* platform/network/cf/SocketStreamHandle.h:
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):

Source/WebKit:

Reviewed by Alex Christensen.

* PlatformMac.cmake:
* PlatformWin.cmake:
* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Reviewed by Brady Eidson.

* Misc/WebSocketProvider.h: Removed.
* Misc/WebSocketProvider.mm: Removed.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

Source/WebKit/win:

Reviewed by Brady Eidson.

* WebSocketProvider.cpp: Removed.
* WebSocketProvider.h: Removed.
* WebView.cpp: Replaced WebSocketProvider with SocketProvider as we did in WebCore.

Source/WebKit2:

Reviewed by Brady Eidson.

* WebProcess/Network/WebSocketProvider.cpp:
(WebKit::WebSocketProvider::createSocketStreamHandle):
(WebKit::WebSocketProvider::createWebSocketChannel): Deleted.
* WebProcess/Network/WebSocketProvider.h:

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

3 years agoWeb Inspector: Maintain selected function when switching between different profile...
commit-queue@webkit.org [Thu, 14 Jul 2016 21:42:42 +0000 (21:42 +0000)]
Web Inspector: Maintain selected function when switching between different profile representations
https://bugs.webkit.org/show_bug.cgi?id=159778
<rdar://problem/27355913>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-07-14
Reviewed by Timothy Hatcher.

* UserInterface/Models/CallingContextTree.js:
(WebInspector.CCTNode):
(WebInspector.CCTNode.prototype.get hash):
(WebInspector.CCTNode.prototype.findOrMakeChild):
(WebInspector.CCTNode.prototype.equals):
Expose the hash so two nodes can be compared cheaply.

* UserInterface/Views/ProfileView.js:
(WebInspector.ProfileView.prototype._repopulateDataGridFromTree):
(WebInspector.ProfileView.prototype._restoreSharedState):
(WebInspector.ProfileView.prototype._dataGridNodeSelected):
Share data between multiple ProfileViews. Currently just remembering
and restoring the selected function.

* UserInterface/Views/ScriptProfileTimelineView.js:
(WebInspector.ScriptProfileTimelineView):
(WebInspector.ScriptProfileTimelineView.prototype._showProfileViewForOrientation):
Include the shared data when constructing new ProfileViews.

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

3 years ago[WK2][iOS] Potential null dereference under ViewGestureController::beginSwipeGesture()
cdumez@apple.com [Thu, 14 Jul 2016 21:39:15 +0000 (21:39 +0000)]
[WK2][iOS] Potential null dereference under ViewGestureController::beginSwipeGesture()
https://bugs.webkit.org/show_bug.cgi?id=159776
<rdar://problem/22467100>

Reviewed by Tim Horton.

Potential null dereference under ViewGestureController::beginSwipeGesture() of:
m_webPageProxy.backForwardList().currentItem()

The client side is expected to call ViewGestureController::canSwipeInDirection() but
this only guarantees that the m_alternateBackForwardListSourceView's currentItem is
non-null when m_alternateBackForwardListSourceView is non-null. It does not guarantee
that m_webPageProxy's currentItem is non-null.

* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):

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

3 years ago"User delete" tests are flakey timeouts (and/or DatabaseProcess crashes).
beidson@apple.com [Thu, 14 Jul 2016 21:15:28 +0000 (21:15 +0000)]
"User delete" tests are flakey timeouts (and/or DatabaseProcess crashes).
https://bugs.webkit.org/show_bug.cgi?id=158741

Reviewed by Alex Christensen.

No new tests (Covered by existing tests in some configurations)

- Check if a database hard delete is complete in more places.
- Asynchronously clear out the hard close protector instead of synchronously.

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformUnconditionalDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::didFinishHandlingVersionChange):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):
(WebCore::IDBServer::UniqueIDBDatabase::transactionCompleted):
(WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTaskReply):
(WebCore::IDBServer::UniqueIDBDatabase::maybeFinishHardClose):
(WebCore::IDBServer::UniqueIDBDatabase::isDoneWithHardClose):
(WebCore::IDBServer::UniqueIDBDatabase::doneWithHardClose): Deleted.

* Modules/indexeddb/server/UniqueIDBDatabase.h:
(WebCore::IDBServer::UniqueIDBDatabase::hardClosedForUserDelete):

* Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::didAbortTransaction):

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

3 years agoCSSStyleSheet members should clear their owner node when destroyed
bfulgham@apple.com [Thu, 14 Jul 2016 21:01:23 +0000 (21:01 +0000)]
CSSStyleSheet members should clear their owner node when destroyed
https://bugs.webkit.org/show_bug.cgi?id=117470

Reviewed by Chris Dumez.

Make sure that CSSStyleSheet members are detached from their owner node when
the owning object is destroyed.

I audited other CSSStyleSheet uses, and found one other place where the owner node was not
being cleared during destruction. The Inspector also uses CSSStyleSheet, but seems to
handle the node ownership properly.

Fix based on a Blink change (patch by <haraken@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/c4949bfdeb2a613701afa1410bdae70531b8f6bf>

Also includes a follow-up fix (patch by <haraken@chromium.org>):
<https://chromium.googlesource.com/chromium/blink/+/9c3932dc80b33429db3a5873cb266b726c8a19bf>

No test case. Was found by the Chromium team through review of their crash traces under minor DOM GC.

* contentextensions/ContentExtensionStyleSheet.cpp:
(WebCore::ContentExtensions::ContentExtensionStyleSheet::~ContentExtensionStyleSheet):
* contentextensions/ContentExtensionStyleSheet.h:
* dom/InlineStyleSheetOwner.cpp:
(WebCore::InlineStyleSheetOwner::~InlineStyleSheetOwner):
(WebCore::authorStyleSheetsForElement):

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

3 years agoASSERTION FAILED: : this != replacement()
ggaren@apple.com [Thu, 14 Jul 2016 20:54:37 +0000 (20:54 +0000)]
ASSERTION FAILED: : this != replacement()
https://bugs.webkit.org/show_bug.cgi?id=159779

Reviewed by Michael Saboff.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::jettison): If we jettison during GC, and our owner
is dead, we choose not to replace ourselves. (See
https://bugs.webkit.org/show_bug.cgi?id=159588.) So, it's possible to
invalidate and still be our owner's CodeBlock. Relax our ASSERT to allow
for this.

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

3 years agoFix the !ENABLE(WEB_SOCKETS) build after r202930
ossy@webkit.org [Thu, 14 Jul 2016 20:14:22 +0000 (20:14 +0000)]
Fix the !ENABLE(WEB_SOCKETS) build after r202930
https://bugs.webkit.org/show_bug.cgi?id=159768

Reviewed by Alex Christensen.

Source/WebCore:

* loader/EmptyClients.cpp:
* loader/EmptyClients.h:
* page/SocketProvider.h:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::WorkerThread):

Source/WebKit/mac:

* Misc/WebSocketProvider.h:

Source/WebKit/win:

* WebSocketProvider.h:

Source/WebKit2:

* WebProcess/Network/WebSocketProvider.h:

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

3 years agoAdd test to confirm we do not crash in media destruction
bfulgham@apple.com [Thu, 14 Jul 2016 19:46:14 +0000 (19:46 +0000)]
Add test to confirm we do not crash in media destruction
https://bugs.webkit.org/show_bug.cgi?id=122816

Test based on a Blink change (patch by <igor.o@sisa.samsung.com>):
<https://chromium.googlesource.com/chromium/blink/+/7a2b2dcefbc013003487d5055eeda7a57daafa93%5E%21/#F0>

We do not seem to have the bug that prompted the Chromium source change. Adding
test case to ensure we do not introduce this problem in the future.

* editing/undo/audio-in-undo-stack-crash-expected.txt: Added.
* editing/undo/audio-in-undo-stack-crash.html: Added.

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

3 years agoAvoid an extra heap allocation when dispatching Functions to WorkQueue
cdumez@apple.com [Thu, 14 Jul 2016 19:45:22 +0000 (19:45 +0000)]
Avoid an extra heap allocation when dispatching Functions to WorkQueue
https://bugs.webkit.org/show_bug.cgi?id=158367

Reviewed by Anders Carlsson.

Avoid an extra heap allocation when dispatching Functions to WorkQueue
by adding leakCallable() / adoptCallable() functions to Function.

* wtf/Function.h:
* wtf/cocoa/WorkQueueCocoa.cpp:
(WTF::WorkQueue::dispatch):
(WTF::WorkQueue::dispatchAfter):

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

3 years agoDOMIterators should be assigned a correct prototype
commit-queue@webkit.org [Thu, 14 Jul 2016 19:32:24 +0000 (19:32 +0000)]
DOMIterators should be assigned a correct prototype
https://bugs.webkit.org/show_bug.cgi?id=159115

Patch by Youenn Fablet <youenn@apple.com> on 2016-07-14
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* web-platform-tests/fetch/api/headers/headers-basic.html: Updating test (changes to be upstreamed to w3c wpt repo)

Source/WebCore:

Default iterator object internal prototype property is the Iterator prototype as defined in
http://heycam.github.io/webidl/#dfn-iterator-prototype-object.
Linking DOMIterator prototype to IteratorPrototype.
This allows adding @@iterator property to the result of entries, keys and values methods.
This in turns allow doing for-of loops on them.

Covered by updated test.

* ForwardingHeaders/runtime/IteratorPrototype.h: Added.
* bindings/js/JSDOMIterator.h: Setting correct prototype and marking next prototype property as enumerable.

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

3 years agoRemove support for value iterators from JSDOMIterator
commit-queue@webkit.org [Thu, 14 Jul 2016 19:30:09 +0000 (19:30 +0000)]
Remove support for value iterators from JSDOMIterator
https://bugs.webkit.org/show_bug.cgi?id=159293

Patch by Youenn Fablet <youenn@apple.com> on 2016-07-14
Reviewed by Chris Dumez.

Source/WebCore:

Value iterators are now handled without using DOMIterator.
Since FontFaceSet is using DOMIterator as an intermediate step towards supporting set-like,
entries and forEach implementation should be made compliant with set-like.
This means that item value should be passed instead of an index in entries iterator and forEach callback.

Covered by updated test.

* bindings/js/JSDOMIterator.h:
(WebCore::JSDOMIterator<JSWrapper>::asJS): Pass set item as entries value field.
(WebCore::appendForEachArguments): Pass set item as second parameter.
(WebCore::iteratorForEach): Remove index handling.

LayoutTests:

* fast/text/font-face-set-javascript-expected.txt:
* fast/text/font-face-set-javascript.html:

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