WebKit.git
3 years agoREGRESSION (r204052): Popovers on bot watcher's dashboard are broken
ap@apple.com [Sun, 28 Aug 2016 00:11:49 +0000 (00:11 +0000)]
REGRESSION (r204052): Popovers on bot watcher's dashboard are broken
https://bugs.webkit.org/show_bug.cgi?id=161254

Reviewed by Darin Adler.

Simplify the CSS. My understanding that the CSS was correct, and the root cause
is tracked in bug 160478.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Popover.css:

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

3 years agoRace between creating/deleting a database in test
commit-queue@webkit.org [Sun, 28 Aug 2016 00:10:29 +0000 (00:10 +0000)]
Race between creating/deleting a database in test
https://bugs.webkit.org/show_bug.cgi?id=161285

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-08-27
Reviewed by Darin Adler.

Because IndexedDB creation is asynchronous, we were not waiting for the
database to be completely open before sending more commands. These
could race and give unexpected results. Wait for the database to be
successfully created before interacting with it.

* inspector/indexeddb/resources/utilities.js:
(createEmptyDatabase):
(createDatabaseWithStores):
Send a single when the database creation is completed.

* inspector/indexeddb/clearObjectStore-expected.txt:
* inspector/indexeddb/clearObjectStore.html:
* inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
* inspector/indexeddb/requestData-expected.txt:
* inspector/indexeddb/requestDatabase-expected.txt:
* inspector/indexeddb/requestDatabase.html:
* inspector/indexeddb/requestDatabaseNames.html:
Listen for the database created signal before proceeding
with the test.

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

3 years agoSource/WebCore:
rniwa@webkit.org [Sat, 27 Aug 2016 22:13:44 +0000 (22:13 +0000)]
Source/WebCore:
Add adopted callback for custom elements
https://bugs.webkit.org/show_bug.cgi?id=161284

Reviewed by Antti Koivisto.

Added the support for adoptedCallback: https://dom.spec.whatwg.org/#concept-node-adopt
For now, we only support this callback on appendChild.

Test: fast/custom-elements/adopted-callback.html

* bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::invokeCallback): Added JSDOMGlobalObject* as an argument to the callback so that
we can invoke toJS on Document in invokeAdoptedCallback.
(WebCore::JSCustomElementInterface::setAdoptedCallback): Added.
(WebCore::JSCustomElementInterface::invokeAdoptedCallback): Added.
(WebCore::JSCustomElementInterface::setAttributeChangedCallback):
* bindings/js/JSCustomElementInterface.h:
(WebCore::JSCustomElementInterface::hasConnectedCallback): Added.
(WebCore::JSCustomElementInterface::hasDisconnectedCallback): Added.
(WebCore::JSCustomElementInterface::hasAdoptedCallback): Added.
* bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::JSCustomElementRegistry::define):
* dom/CustomElementReactionQueue.cpp:
(WebCore::CustomElementReactionQueueItem::CustomElementReactionQueueItem): Added a variant that takes two documents.
(WebCore::CustomElementReactionQueueItem::invoke):
(WebCore::CustomElementReactionQueue::enqueueConnectedCallbackIfNeeded): Fixed a bug that this function was always
enqueuing a callback even when the interface didn't have connectedCallback. Also, there is no need to check
the nullity of the interface since it should never be null.
(WebCore::CustomElementReactionQueue::enqueueDisconnectedCallbackIfNeeded): Ditto.
(WebCore::CustomElementReactionQueue::enqueueAdoptedCallbackIfNeeded): Added.
(WebCore::CustomElementReactionQueue::enqueueAttributeChangedCallbackIfNeeded): Assert that the interface is never
null instead of exiting early.
* dom/CustomElementReactionQueue.h:
* dom/Element.cpp:
(WebCore::Element::didMoveToNewDocument): Added a call to enqueueAdoptedCallbackIfNeeded.

LayoutTests:
adoptcallback

Add adopted callback for custom elements
https://bugs.webkit.org/show_bug.cgi?id=161284

Reviewed by Antti Koivisto.

* fast/custom-elements/adopted-callback-expected.txt: Added.
* fast/custom-elements/adopted-callback.html: Added.
* fast/custom-elements/resources/document-types.js:
(const.DocumentTypes.create):

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

3 years agoFix the !PLATFORM(WIN) && USE(CURL) build.
commit-queue@webkit.org [Sat, 27 Aug 2016 21:34:57 +0000 (21:34 +0000)]
Fix the !PLATFORM(WIN) && USE(CURL) build.
https://bugs.webkit.org/show_bug.cgi?id=161281

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2016-08-27
Reviewed by Alex Christensen.

* platform/network/curl/ResourceHandleCurl.cpp:

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

3 years agohtml/dom/interfaces.html is flaky due to WebSocket test
commit-queue@webkit.org [Sat, 27 Aug 2016 20:55:16 +0000 (20:55 +0000)]
html/dom/interfaces.html is flaky due to WebSocket test
https://bugs.webkit.org/show_bug.cgi?id=161290

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27

* platform/mac/TestExpectations: Making html/dom/interfaces.html expectation specific to Release.

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

3 years ago[Fetch API] Opaque responses should not have any body
commit-queue@webkit.org [Sat, 27 Aug 2016 20:47:35 +0000 (20:47 +0000)]
[Fetch API] Opaque responses should not have any body
https://bugs.webkit.org/show_bug.cgi?id=161130

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

* web-platform-tests/fetch/api/cors/cors-basic.js:
(cors): Adding response body checking.

Source/WebCore:

Covered by updated test.

Added a new ThreadableLoader option to receive or not opaque response body.
By default, option is set to Receive.
FetchLoader is setting it to DoNotReceive.

* Modules/fetch/FetchLoader.cpp:
(WebCore::FetchLoader::start):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse): Calling didFinishLoading just after didReceiveResponse in case of Opaque responses.
* loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
* loader/ThreadableLoader.h:
* loader/WorkerThreadableLoader.cpp:
(WebCore::LoaderTaskOptions::LoaderTaskOptions):

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

3 years ago[Fetch API] opaqueredirect responses should have their URL set to the original URL
commit-queue@webkit.org [Sat, 27 Aug 2016 18:43:32 +0000 (18:43 +0000)]
[Fetch API] opaqueredirect responses should have their URL set to the original URL
https://bugs.webkit.org/show_bug.cgi?id=161194

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

* web-platform-tests/fetch/api/redirect/redirect-mode.html:
* web-platform-tests/fetch/api/redirect/redirect-mode.js:
(redirectMode): Updating test to ease the computation of the absolute URL.

Source/WebCore:

Covered by updated tests.

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::didReceiveResponse):
* loader/SubresourceLoader.cpp: Removing isNull ASSERT since we now set the response URL.
(WebCore::SubresourceLoader::willSendRequestInternal): Setting opaqueredirect response URL to the original URL.

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

3 years agoAdd run-webkit-tests --print-expectations to show expectations for all or a subset...
simon.fraser@apple.com [Sat, 27 Aug 2016 18:07:52 +0000 (18:07 +0000)]
Add run-webkit-tests --print-expectations to show expectations for all or a subset of tests
https://bugs.webkit.org/show_bug.cgi?id=161217

Reviewed by Ryosuke Niwa.
Tools:

"run-webkit-tests --print-expectations" runs the same logic as running the tests, but
dumps out the lists of tests that would be run and skipped, and, for each, the entry
in TestExpectations that determines the expected outcome of the test.

This is an improved version of webkit-patch print-expectations.

See bug for sample output.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._print_expectations_for_subset): Print out the list of tests and expected
outcome for some subset of tests.
(Manager.print_expectations): Do the same splitting by device class that running tests
does, and for each subset of tests, call _print_expectations_for_subset.
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser.expectation_for_skipped_test): Set the flag
expectation_line.not_applicable_to_current_platform
(TestExpectationLine.__init__): Init not_applicable_to_current_platform to False
(TestExpectationLine.expected_behavior): line.expectation is ['PASS'] by default,
even for skipped tests. This function returns a list relevant for display, taking the skipped
modifier into account.
(TestExpectationLine.create_passing_expectation): expectations is normally a list, not a set.
(TestExpectations.readable_filename_and_line_number): Return something printable for
lines with and without filenames
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main): Handle options.print_expectations
(parse_args): Add support for --print-expectations
(_print_expectations):
* Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.default_child_processes): Make this a debug log.

LayoutTests:

Explicitly skip fast/viewport

* platform/mac/TestExpectations:

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

3 years agoscript.text should behave like script.textContent on setting
akling@apple.com [Sat, 27 Aug 2016 17:45:12 +0000 (17:45 +0000)]
script.text should behave like script.textContent on setting
<https://webkit.org/b/148852>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

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

Source/WebCore:

HTMLScriptElement.text should behave just like .textContent when setting,
so just forward setText() to setTextContent().

Test: import/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.html

* html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::setText):

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

3 years agohtml/dom/interfaces.html is flaky due to WebSocket test
commit-queue@webkit.org [Sat, 27 Aug 2016 15:09:34 +0000 (15:09 +0000)]
html/dom/interfaces.html is flaky due to WebSocket test
https://bugs.webkit.org/show_bug.cgi?id=161290

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27

* platform/mac/TestExpectations: Marking html/dom/interfaces.html expectation from Skip to Pass|Failure.

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

3 years agoSync web-platform-tests up to revision e827374
commit-queue@webkit.org [Sat, 27 Aug 2016 14:31:23 +0000 (14:31 +0000)]
Sync web-platform-tests up to revision e827374
https://bugs.webkit.org/show_bug.cgi?id=161231

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27
Reviewed by Sam Weinig.

* resources/ImportExpectations: Skipped some new test suites. Added 'url' test suite as Import.
* resources/TestRepositories: Updated revision to e827374
* resources/web-platform-tests-modules.json:
* web-platform-tests/XMLHttpRequest/abort-during-upload-expected.txt:
* web-platform-tests/XMLHttpRequest/abort-during-upload.htm:
* web-platform-tests/XMLHttpRequest/abort-event-order.htm:
* web-platform-tests/XMLHttpRequest/event-error-expected.txt:
* web-platform-tests/XMLHttpRequest/event-error-order.sub-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/event-error-order.sub.html: Added.
* web-platform-tests/XMLHttpRequest/event-error.html:
* web-platform-tests/XMLHttpRequest/event-error.sub-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/event-error.sub.html: Copied from LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-error.html.
* web-platform-tests/XMLHttpRequest/event-progress.htm:
* web-platform-tests/XMLHttpRequest/resources/trickle.py:
(main):
* web-platform-tests/XMLHttpRequest/resources/w3c-import.log:
* web-platform-tests/XMLHttpRequest/resources/xmlhttprequest-event-order.js: Added.
(global.prepare_xhr_for_event_order_test):
(global.assert_xhr_event_order_matches):
* web-platform-tests/XMLHttpRequest/response-data-progress-expected.txt:
* web-platform-tests/XMLHttpRequest/response-data-progress.htm:
* web-platform-tests/XMLHttpRequest/response-method-expected.txt:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
* web-platform-tests/XMLHttpRequest/security-consideration.sub.html:
* web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
* web-platform-tests/XMLHttpRequest/send-no-response-event-order-expected.txt:
* web-platform-tests/XMLHttpRequest/send-no-response-event-order.htm:
* web-platform-tests/XMLHttpRequest/send-sync-response-event-order-expected.txt:
* web-platform-tests/XMLHttpRequest/send-sync-response-event-order.htm:
* web-platform-tests/XMLHttpRequest/w3c-import.log:
* web-platform-tests/common/get-host-info.sub.js: Added.
(get_host_info):
* web-platform-tests/common/w3c-import.log:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/dom/interfaces.html:
* web-platform-tests/dom/nodes/attributes-expected.txt:
* web-platform-tests/dom/nodes/attributes.html:
* web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html:
* web-platform-tests/dom/traversal/TreeWalker-basic.html:
* web-platform-tests/dom/traversal/TreeWalker-currentNode.html:
* web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html:
* web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html:
* web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html:
* web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html:
* web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html:
* web-platform-tests/domparsing/w3c-import.log:
* web-platform-tests/fetch/api/basic/scheme-about-expected.txt:
* web-platform-tests/fetch/api/basic/scheme-about-worker-expected.txt:
* web-platform-tests/fetch/api/basic/scheme-about.js:
(checkFetchResponse):
(checkKoUrl): Deleted.
* web-platform-tests/fetch/api/basic/w3c-import.log:
* web-platform-tests/fetch/api/cors/cors-cookies.js:
(corsCookies):
* web-platform-tests/fetch/api/cors/cors-redirect.js:
(corsRedirect):
* web-platform-tests/fetch/api/headers/headers-basic-expected.txt:
* web-platform-tests/fetch/api/headers/headers-basic.html:
* web-platform-tests/fetch/api/redirect/w3c-import.log:
* web-platform-tests/fetch/api/request/request-cache-expected.txt:
* web-platform-tests/html/browsers/history/the-location-interface/security_location_0.sub.htm:
* web-platform-tests/html/browsers/the-window-object/security-window/window-security.sub.html:
* web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html:
* web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub-expected.txt:
* web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub.html:
* web-platform-tests/html/dom/elements-forms.js:
* web-platform-tests/html/dom/elements-tabular.js:
* web-platform-tests/html/dom/elements/global-attributes/dataset-expected.txt:
* web-platform-tests/html/dom/elements/global-attributes/dataset.html:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces.html:
* web-platform-tests/html/dom/reflection-forms-expected.txt:
* web-platform-tests/html/dom/reflection-tabular-expected.txt:
* web-platform-tests/html/dom/reflection.js:
(ReflectionTests.typeMap.string_appeared_here.toString):
(ReflectionTests.typeMap.string_appeared_here.valueOf):
(ReflectionTests.typeMap.string_appeared_here.string_appeared_here):
* web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_specified.sub.html:
* web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt:
* web-platform-tests/html/semantics/document-metadata/the-link-element/link-load-event.html:
* web-platform-tests/html/semantics/document-metadata/the-link-element/link-style-error-01-expected.txt:
* web-platform-tests/html/semantics/document-metadata/the-link-element/link-style-error-01.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.sub.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.sub.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.sub.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.sub.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.sub.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.sub.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.sub.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.sub.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.sub.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.sub.html:
* web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooShort.html:
* web-platform-tests/html/semantics/interfaces-expected.txt:
* web-platform-tests/html/semantics/interfaces.html:
* web-platform-tests/html/semantics/interfaces.js:
* web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid-expected.txt:
* web-platform-tests/html/semantics/selectors/pseudo-classes/valid-invalid.html:
* web-platform-tests/lint.whitelist:
* web-platform-tests/url/w3c-import.log: Added.

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

3 years ago[Fetch API] Blob type should be set from Response/Request contentType header
commit-queue@webkit.org [Sat, 27 Aug 2016 10:40:37 +0000 (10:40 +0000)]
[Fetch API] Blob type should be set from Response/Request contentType header
https://bugs.webkit.org/show_bug.cgi?id=161228

Patch by Youenn Fablet <youenn@apple.com> on 2016-08-27
Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

* web-platform-tests/fetch/api/request/request-consume.html:
* web-platform-tests/fetch/api/request/request-headers-expected.txt:
* web-platform-tests/fetch/api/request/request-headers.html:
* web-platform-tests/fetch/api/response/response-consume-expected.txt:
* web-platform-tests/fetch/api/response/response-consume.html:
* web-platform-tests/fetch/api/response/response-init-002-expected.txt:
* web-platform-tests/fetch/api/response/response-init-002.html:

Source/WebCore:

Covered by updated tests.

Renaming FetchBody::m_mimeType to m_contentType since that better relates to Content-Type header.
Updated FetchRequest and FetchResponse to set m_contentType according request/response headers.
Handled the case of a Request created from JS, a Response created from JS and a Response created internally to
be used as resolve value in the fetch promise.

In case Content-Type is set but is empty, its empty value should be used for blob type.
Updated contentType checks to use isNull in lieu of isEmpty.

* Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::updateContentType): Routine to synchronize headers with m_contentType.
(WebCore::FetchBody::FetchBody): Renamed m_mimeType to m_contentType.
(WebCore::FetchBody::blob): Ditto.
* Modules/fetch/FetchBody.h: Ditto.
(WebCore::FetchBody::contentType):
(WebCore::FetchBody::setMimeType): Deleted.
(WebCore::FetchBody::mimeType): Deleted.
* Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::setBody): set FetchBody::m_contentType according HTTP headers.
* Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::initializeWith): Ditto.
(WebCore::FetchResponse::BodyLoader::didReceiveResponse): Ditto.

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

3 years ago[GTK][Threaded Compositor] Several flaky tests
carlosgc@webkit.org [Sat, 27 Aug 2016 09:18:54 +0000 (09:18 +0000)]
[GTK][Threaded Compositor] Several flaky tests
https://bugs.webkit.org/show_bug.cgi?id=161242

Reviewed by Michael Catanzaro.

We still have a lot of flaky tests since we switched to the threaded compositor. The UI process might
take the screenshot too early, before everything is actually painted. I can't reproduce the problem, so this is
actually a speculative fix or workaround. Our implementation of DrawingArea::dispatchAfterEnsuringDrawing() is
quite simple, we just dispatch the callback in the next run loop iteration, which doesn't really ensures any
drawing at all. So, we can wait for draw events before dispatching the given callback. Since we don't really
know if draw events were already processed before dispatchAfterEnsuringDrawing() is called, or if there will be
more than one damage event in a short time, this patch waits up to 1 second for draw events, and if a draw
happens it stops if there isn't another draw event in the next 100ms. This should ensure a drawing if it was
really needed.

* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::DrawingMonitor):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::~DrawingMonitor):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::webViewDrawCallback):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::start):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::stop):
(WebKit::DrawingAreaProxyImpl::DrawingMonitor::didDraw):
(WebKit::DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing):
* UIProcess/DrawingAreaProxyImpl.h:

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

3 years agoKeep trying to fix the build after r205057.
mitz@apple.com [Sat, 27 Aug 2016 05:47:44 +0000 (05:47 +0000)]
Keep trying to fix the build after r205057.

* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:

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

3 years agoKeep trying to fix the build after r205057.
mitz@apple.com [Sat, 27 Aug 2016 05:44:01 +0000 (05:44 +0000)]
Keep trying to fix the build after r205057.

* MobileMiniBrowser/MobileMiniBrowser/AppDelegate.m: Don’t try to import nonexistent
  config.h. This file is only meant to be built with Xcode anyway.
* MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard: Make this compile
  with Xcode 7.3 and deploy to iOS 9.0.
* MobileMiniBrowser/MobileMiniBrowser/Base.lproj/Main.storyboard: Ditto.
* MobileMiniBrowser/MobileMiniBrowser/TabViewController.m: Don’t try to import config.h.
* MobileMiniBrowser/MobileMiniBrowser/WebViewController.m: Ditto.

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

3 years agoStart trying to fix the build after r205057.
mitz@apple.com [Sat, 27 Aug 2016 04:39:28 +0000 (04:39 +0000)]
Start trying to fix the build after r205057.

* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:

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

3 years agoRemove Yosemite Leaks from the flakiness dashboard
ap@apple.com [Sat, 27 Aug 2016 03:48:39 +0000 (03:48 +0000)]
Remove Yosemite Leaks from the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=161253

Reviewed by Anders Carlsson.

* TestResultServer/static-dashboards/builders.jsonp:

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

3 years agoFix Windows build after r205065.
achristensen@apple.com [Sat, 27 Aug 2016 03:04:25 +0000 (03:04 +0000)]
Fix Windows build after r205065.

* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/PannerNode.idl:
There's no WEB_AUDIO on Windows.

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

3 years agoREGRESSION (r203535): Web Inspector: Inspector overlay node info has disappeared
commit-queue@webkit.org [Sat, 27 Aug 2016 02:53:37 +0000 (02:53 +0000)]
REGRESSION (r203535): Web Inspector: Inspector overlay node info has disappeared
https://bugs.webkit.org/show_bug.cgi?id=161264

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-08-26
Reviewed by Joseph Pecoraro.

No new tests.  Fixing JavaScript error in Inspector overlay.

* inspector/InspectorOverlay.cpp:
(evaluateCommandInOverlay):
(WebCore::InspectorOverlay::evaluateInOverlay):
Add ASSERT to ensure that errors in the Inspector overlay will cause tests to crash.

* inspector/InspectorOverlayPage.js:
(DOMBuilder.prototype.appendTextNode):
Move textContent value to parameter of document.createTextNode.

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

3 years agoWeb Inspector: inspector/indexeddb/deleteDatabaseNamesWithSpace.html is flakey
joepeck@webkit.org [Sat, 27 Aug 2016 02:51:24 +0000 (02:51 +0000)]
Web Inspector: inspector/indexeddb/deleteDatabaseNamesWithSpace.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=161283

Reviewed by Alex Christensen.

* inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
Add a short timeout between deleting a database and requesting database names
to reduce flakey results.

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

3 years agobitwise_cast uses inactive member of union
commit-queue@webkit.org [Sat, 27 Aug 2016 02:39:39 +0000 (02:39 +0000)]
bitwise_cast uses inactive member of union
https://bugs.webkit.org/show_bug.cgi?id=161244

Patch by JF Bastien <jfbastien@apple.com> on 2016-08-26
Reviewed by Benjamin Poulain.

* wtf/Compiler.h:
Add COMPILER_HAS_CLANG_FEATURE
* wtf/StdLibExtras.h:
(WTF::bitwise_cast):
Fix C++ UB, add trivially-copyable check.

bitwise_cast stores into a union with one type and reads with
another, which is technically C++ undefined behavior because it's
accessing the wrong active member of the union. The better way to
do this is through memcpy, which compilers optimize as well
because it's known-size in known-not-to-escape storage (for small
types they'll inline and then convert stack memory access to SSA
values which may be in-register if that makes sense, which would
be a move between int/FP registers at worst).

The C++ Standard's section [basic.types] explicitly blesses memcpy:

  For any trivially copyable type T, if two pointers to T point to
  distinct T objects obj1 and obj2, where neither obj1 nor obj2 is a
  base-class subobject, if the underlying bytes (1.7) making up obj1
  are copied into obj2, 42 obj2 shall subsequently hold the same
  value as obj1.

  [Example:
    T* t1p;
    T* t2p;
    // provided that t2p points to an initialized object ...
    std::memcpy(t1p, t2p, sizeof(T));
    // at this point, every subobject of trivially copyable type in *t1p contains
    // the same value as the corresponding subobject in *t2p
  — end example ]

Whereas section [class.union] says:

  In a union, at most one of the non-static data members can be
  active at any time, that is, the value of at most one of the
  non-static data members can be stored in a union at any time.

While we're at it, checking that sizeof(To) == sizeof(From) is
good, but we should also check that both types are trivially
copyable (can have a ctor, no dtor, and copy is defaulted as if by
memcpy for type and all subtypes). Unfortunately that trait isn't
implemented consistently in all recent compiler+stdlib
implementations, but recent clang has an equivalent builtin
(other compilers simply won't do the check, and will break on bots
with the right compilers which is better than the current silent
breakage). This builtin hack also avoids #include <type_traits>
which really doesn't save much.

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

3 years agoRemove support for ENABLE_LEGACY_WEB_AUDIO
weinig@apple.com [Sat, 27 Aug 2016 02:01:11 +0000 (02:01 +0000)]
Remove support for ENABLE_LEGACY_WEB_AUDIO
https://bugs.webkit.org/show_bug.cgi?id=161262

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:
Remove ENABLE_LEGACY_WEB_AUDIO

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:
Remove ENABLE_LEGACY_WEB_AUDIO.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::noteGrainOn): Deleted.
* Modules/webaudio/AudioBufferSourceNode.h:
* Modules/webaudio/AudioBufferSourceNode.idl:
(WebCore::AudioScheduledSourceNode::noteOn): Deleted.
(WebCore::AudioScheduledSourceNode::noteOff): Deleted.
* Modules/webaudio/AudioScheduledSourceNode.h:
* Modules/webaudio/AudioScheduledSourceNode.cpp:
Remove the looping attribute, as well as the noteOn, noteOff, and noteGrainOn functions.

* Modules/webaudio/AudioContext.idl:
Remove the createGainNode, createDelayNode and createJavaScriptNode functions.

* Modules/webaudio/AudioParam.idl:
Remove the setTargetValueAtTime function.

* Modules/webaudio/BiquadDSPKernel.cpp:
(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
* Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::type):
(WebCore::BiquadFilterNode::setType):
(WebCore::BiquadFilterNode::getFrequencyResponse):
* Modules/webaudio/BiquadFilterNode.h:
* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/BiquadProcessor.cpp:
(WebCore::BiquadProcessor::BiquadProcessor):
(WebCore::BiquadProcessor::setType):
(WebCore::BiquadProcessor::getFrequencyResponse):
* Modules/webaudio/BiquadProcessor.h:
(WebCore::BiquadProcessor::type):
* bindings/js/JSBiquadFilterNodeCustom.cpp: Removed.
Rename BiquadProcessor::FilterType to BiquadFilterType and use it
directly from the IDL. Remove legacy filter constants from the IDL
and the need for a custom binding for the type attribute.

* Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::OscillatorNode):
(WebCore::OscillatorNode::setType):
(WebCore::OscillatorNode::setPeriodicWave):
(WebCore::OscillatorNode::type): Deleted.
* Modules/webaudio/OscillatorNode.h:
(WebCore::OscillatorNode::type):
* Modules/webaudio/OscillatorNode.idl:
* Modules/webaudio/PeriodicWave.cpp:
(WebCore::PeriodicWave::createSine):
(WebCore::PeriodicWave::createSquare):
(WebCore::PeriodicWave::createSawtooth):
(WebCore::PeriodicWave::createTriangle):
(WebCore::PeriodicWave::generateBasicWaveform):
* Modules/webaudio/PeriodicWave.h:
* bindings/js/JSOscillatorNodeCustom.cpp: Removed.
Remove noteOn and noteOff functions and the type integer constants.
Remove the need for a custom binding for the type attribute by renaming
the type enum OscillatorNode::Type and putting the enum in the IDL.

* Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::PannerNode):
(WebCore::PannerNode::process):
(WebCore::PannerNode::setPanningModel):
(WebCore::PannerNode::distanceModel):
(WebCore::PannerNode::setDistanceModel):
(WebCore::PannerNode::panningModel): Deleted.
* Modules/webaudio/PannerNode.h:
(WebCore::PannerNode::panningModel):
* Modules/webaudio/PannerNode.idl:
* bindings/js/JSPannerNodeCustom.cpp: Removed.
* platform/audio/Distance.cpp:
(WebCore::DistanceEffect::DistanceEffect):
(WebCore::DistanceEffect::gain):
* platform/audio/Distance.h:
(WebCore::DistanceEffect::model):
(WebCore::DistanceEffect::setModel):
* platform/audio/EqualPowerPanner.cpp:
(WebCore::EqualPowerPanner::EqualPowerPanner):
* platform/audio/HRTFPanner.cpp:
(WebCore::HRTFPanner::HRTFPanner):
* platform/audio/Panner.cpp:
(WebCore::Panner::create):
* platform/audio/Panner.h:
(WebCore::Panner::panningModel):
(WebCore::Panner::Panner):
Replace the panning model and distance model integer constants
with IDL enum support, removing the need for a custom binding.
Rename the supporting C++ enums to work with the bindings.

* bindings/js/JSAudioContextCustom.cpp:
(WebCore::constructJSAudioContext):
Remove deprecated way of creating an offline context.

* WebCore.xcodeproj/project.pbxproj:
Update files.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
Remove ENABLE_LEGACY_WEB_AUDIO

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
Remove ENABLE_LEGACY_WEB_AUDIO.

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

* webaudio/audiobuffersource-loop-points.html:
* webaudio/audiobuffersource-multi-channels.html:
* webaudio/audiobuffersource-playbackState-expected.txt:
* webaudio/audiobuffersource-playbackState.html:
* webaudio/audiobuffersource-playbackrate.html:
* webaudio/audiochannelmerger-stereo.html:
* webaudio/audiochannelsplitter.html:
* webaudio/audionode-connect-order.html:
* webaudio/audionode-expected.txt:
* webaudio/audionode.html:
* webaudio/audioparam-connect-audioratesignal.html:
* webaudio/audioparam-summingjunction.html:
* webaudio/audioprocessingevent.html:
* webaudio/automatic-pull-node.html:
* webaudio/biquad-allpass.html:
* webaudio/biquad-bandpass.html:
* webaudio/biquad-getFrequencyResponse.html:
* webaudio/biquad-highpass.html:
* webaudio/biquad-highshelf.html:
* webaudio/biquad-lowpass.html:
* webaudio/biquad-lowshelf.html:
* webaudio/biquad-notch.html:
* webaudio/biquad-peaking.html:
* webaudio/biquadfilternode-basic-expected.txt:
* webaudio/biquadfilternode-basic.html:
* webaudio/convolution-mono-mono.html:
* webaudio/delaynode-max-default-delay.html:
* webaudio/delaynode-max-nondefault-delay.html:
* webaudio/delaynode-maxdelay.html:
* webaudio/delaynode-scheduling.html:
* webaudio/delaynode.html:
* webaudio/distance-exponential-expected.txt:
* webaudio/distance-exponential.html:
* webaudio/distance-inverse-expected.txt:
* webaudio/distance-inverse.html:
* webaudio/distance-linear-expected.txt:
* webaudio/distance-linear.html:
* webaudio/gain-basic.html:
* webaudio/gain.html:
* webaudio/javascriptaudionode-zero-input-channels.html:
* webaudio/javascriptaudionode.html:
* webaudio/mixing.html:
* webaudio/note-grain-on-play-expected.txt: Removed.
* webaudio/note-grain-on-play.html: Removed.
* webaudio/note-grain-on-timing-expected.txt: Removed.
* webaudio/note-grain-on-timing.html: Removed.
* webaudio/oscillator-basic-expected.txt:
* webaudio/oscillator-basic.html:
* webaudio/oscillator-custom.html:
* webaudio/oscillator-sawtooth.html:
* webaudio/oscillator-sine.html:
* webaudio/oscillator-square.html:
* webaudio/oscillator-triangle.html:
* webaudio/pannernode-basic-expected.txt:
* webaudio/pannernode-basic.html:
* webaudio/resources/audio-testing.js:
* webaudio/resources/audioparam-testing.js:
* webaudio/resources/biquad-testing.js:
* webaudio/resources/distance-model-testing.js:
* webaudio/resources/javascriptaudionode-testing.js:
* webaudio/resources/oscillator-testing.js:
* webaudio/resources/panner-model-testing.js:
* webaudio/sample-accurate-scheduling.html:
* webaudio/stereo2mono-down-mixing.html:
* webaudio/up-mixing-mono-51.html:
* webaudio/up-mixing-mono-stereo.html:
* webaudio/up-mixing-stereo-51.html:
* webaudio/waveshaper.html:
Update tests for removal of ENABLE_LEGACY_WEB_AUDIO.

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

3 years ago[JSC] Implement CompareStrictEq(String, Untyped) in FTL
benjamin@webkit.org [Sat, 27 Aug 2016 00:36:15 +0000 (00:36 +0000)]
[JSC] Implement CompareStrictEq(String, Untyped) in FTL
https://bugs.webkit.org/show_bug.cgi?id=161229

Reviewed by Geoffrey Garen.

JSTests:

* stress/compare-strict-eq-on-various-types.js: Added.

Source/JavaScriptCore:

Add (String, Untyped) uses to FTL CompareStrictEq.
This was the last use type not implemented, the node is fully
supported by FTL after this patch.

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
(JSC::FTL::DFG::LowerDFGToB3::compileStringToUntypedStrictEquality):

(JSC::FTL::DFG::LowerDFGToB3::nonSpeculativeCompare):
Remove the type checks when possible.

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

3 years agoWeb Inspector: Frontend should have access to Resource Timing information
commit-queue@webkit.org [Sat, 27 Aug 2016 00:30:00 +0000 (00:30 +0000)]
Web Inspector: Frontend should have access to Resource Timing information
https://bugs.webkit.org/show_bug.cgi?id=160095

Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-08-26
Reviewed by Alex Christensen.

Source/JavaScriptCore:

Rename ResourceTiming property.

* inspector/protocol/Network.json:
Rename navigationStart to startTime so it's applicable
for all resources and not just the main resource.

Source/WebCore:

Show correct information with Resource Timing information
from ResourceLoader rather than DocumentLoader.

No new tests, frontend doesn't use the timing data yet.

* inspector/InspectorNetworkAgent.cpp:
(WebCore::InspectorNetworkAgent::buildObjectForTiming):
(WebCore::InspectorNetworkAgent::buildObjectForResourceResponse):
(WebCore::InspectorNetworkAgent::buildObjectForCachedResource):
(WebCore::InspectorNetworkAgent::willSendRequest):
(WebCore::InspectorNetworkAgent::didReceiveResponse):
(WebCore::InspectorNetworkAgent::didLoadResourceFromMemoryCache):
(WebCore::buildObjectForTiming): Deleted.
(WebCore::buildObjectForResourceResponse): Deleted.
(WebCore::buildObjectForCachedResource): Deleted.
Use ResourceLoader instead of DocumentLoader to get Resource Timing information.
Move functions to member functions to access the executionStopWatch.

(WebCore::InspectorNetworkAgent::didFinishLoading):
Use the load timing finishTime and convert to elapsed time for frontend.

* inspector/InspectorNetworkAgent.h:
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didFinishLoading):
Pass the web process load timing on to the inspector.

Source/WTF:

Add method to get elapsed time for any monotonic time.
Used by InspectorNetworkAgent.

* wtf/Stopwatch.h:
(WTF::Stopwatch::elapsedTimeSinceMonotonicTime):

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

3 years agoUnreviewed, fix Windows build after r205048.
cdumez@apple.com [Sat, 27 Aug 2016 00:13:59 +0000 (00:13 +0000)]
Unreviewed, fix Windows build after r205048.

* bindings/scripts/CodeGeneratorJS.pm:
(getConditionalForFunctionConsideringOverloads):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload):
* bindings/scripts/test/TestObj.idl:

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

3 years agoAdopted custom element's callbacks should continue to work
rniwa@webkit.org [Sat, 27 Aug 2016 00:04:08 +0000 (00:04 +0000)]
Adopted custom element's callbacks should continue to work
https://bugs.webkit.org/show_bug.cgi?id=161065

Reviewed by Andreas Kling.

Source/WebCore:

When a custom element is adopted into another document, its reaction callbacks need to continue to work.
Because a different document may have its own global object, each custom element needs to remember its
original global object or JSCustomElementInterface. This patch adds the latter to the element rare data.

Tests: fast/custom-elements/connected-callbacks.html
       fast/custom-elements/disconnected-callbacks.html

* bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::constructElement):
(WebCore::JSCustomElementInterface::upgradeElement):
* dom/CustomElementReactionQueue.cpp:
(WebCore::findInterfaceForCustomElement): Deleted.
(WebCore::CustomElementReactionQueue::enqueueConnectedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueDisconnectedCallbackIfNeeded):
(WebCore::CustomElementReactionQueue::enqueueAttributeChangedCallbackIfNeeded):
* dom/Element.cpp:
(WebCore::Element::insertedInto): Invoke callbacks even when the current document is not a HTML document.
(WebCore::Element::removedFrom): Ditto.
(WebCore::Element::setCustomElementIsResolved): Moved from Node. Add the element interface to the rare data.
(WebCore::Element::customElementInterface): Added.
* dom/Element.h:
* dom/ElementRareData.cpp:
* dom/ElementRareData.h:
(WebCore::ElementRareData::customElementInterface): Added.
(WebCore::ElementRareData::setCustomElementInterface): Added.
* dom/Node.h:
((WebCore::Node::setCustomElementIsResolved): Deleted.

LayoutTests:

Added test cases for adopting custom elements into various kinds of documents.

* fast/custom-elements/connected-callbacks-expected.txt:
* fast/custom-elements/connected-callbacks.html:
* fast/custom-elements/defined-pseudo-class-expected.txt:
* fast/custom-elements/defined-pseudo-class.html:
* fast/custom-elements/disconnected-callbacks-expected.txt:
* fast/custom-elements/disconnected-callbacks.html:
* fast/custom-elements/resources/document-types.js: Added.
* fast/custom-elements/resources/empty-html-document.html: Added.

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

3 years agoMarking webgl/max-active-contexts-webglcontextlost-prevent-default.html as flaky...
ryanhaddad@apple.com [Fri, 26 Aug 2016 23:47:40 +0000 (23:47 +0000)]
Marking webgl/max-active-contexts-webglcontextlost-prevent-default.html as flaky on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=161205

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

3 years agoMarking http/tests/media/hls/hls-accessiblity-describes-video-menu.html as flaky...
ryanhaddad@apple.com [Fri, 26 Aug 2016 23:43:42 +0000 (23:43 +0000)]
Marking http/tests/media/hls/hls-accessiblity-describes-video-menu.html as flaky on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=161144

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

3 years agoAdd a test harness for running UI tests on the iOS Simulator
jer.noble@apple.com [Fri, 26 Aug 2016 23:28:59 +0000 (23:28 +0000)]
Add a test harness for running UI tests on the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=161265

.:

Add the new MobileMiniBrowser project to the WebKit workspace.

Reviewed by Simon Fraser.

* WebKit.xcworkspace/contents.xcworkspacedata:

Tools:

Reviewed by Simon Fraser.

Add a new iOS Simulator application which uses WKWebView to implement a basic browser, and which
can serve as a test harness for WebKit UI tests.

Also add a basic media playback test which verifies that a <video> element will begin playing in
fullscreen on an iPhone device, but will play inline on an iPad device.

* Makefile: Add MobileMiniBrowser as a Module for iOS builds.
* MobileMiniBrowser/Configurations/Base.xcconfig: Added.
* MobileMiniBrowser/Configurations/DebugRelease.xcconfig: Added.
* MobileMiniBrowser/Configurations/MobileMiniBrowser.xcconfig: Added.
* MobileMiniBrowser/Makefile: Added.
* MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj: Added.
* MobileMiniBrowser/MobileMiniBrowser/AppDelegate.h: Added.
* MobileMiniBrowser/MobileMiniBrowser/AppDelegate.m: Added.
(-[AppDelegate application:didFinishLaunchingWithOptions:]):
(-[AppDelegate applicationWillResignActive:]):
(-[AppDelegate applicationDidEnterBackground:]):
(-[AppDelegate applicationWillEnterForeground:]):
(-[AppDelegate applicationDidBecomeActive:]):
(-[AppDelegate applicationWillTerminate:]):
* MobileMiniBrowser/MobileMiniBrowser/Assets.xcassets/AppIcon.appiconset/Contents.json: Added.
* MobileMiniBrowser/MobileMiniBrowser/Base.lproj/LaunchScreen.storyboard: Added.
* MobileMiniBrowser/MobileMiniBrowser/Base.lproj/Main.storyboard: Added.
* MobileMiniBrowser/MobileMiniBrowser/Info.plist: Added.
* MobileMiniBrowser/MobileMiniBrowser/TabViewController.h: Added.
* MobileMiniBrowser/MobileMiniBrowser/TabViewController.m: Added.
(-[TabViewController dealloc]):
(-[TabViewController viewDidLoad]):
(-[TabViewController observeValueForKeyPath:ofObject:change:context:]):
(-[TabViewController tableView:cellForRowAtIndexPath:]):
(-[TabViewController tableView:numberOfRowsInSection:]):
(-[TabViewController numberOfSectionsInTableView:]):
(-[TabViewController tableView:canEditRowAtIndexPath:]):
(-[TabViewController tableView:canMoveRowAtIndexPath:]):
(-[TabViewController tableView:commitEditingStyle:forRowAtIndexPath:]):
(-[TabViewController tableView:didSelectRowAtIndexPath:]):
* MobileMiniBrowser/MobileMiniBrowser/WebViewController.h: Added.
* MobileMiniBrowser/MobileMiniBrowser/WebViewController.m: Added.
(-[WebViewController viewDidLoad]):
(-[WebViewController didReceiveMemoryWarning]):
(-[WebViewController reload:]):
(-[WebViewController goBack:]):
(-[WebViewController goForward:]):
(-[WebViewController urlFieldEditingBegan:]):
(-[WebViewController navigateTo:]):
(-[WebViewController showTabs:]):
(-[WebViewController selectWebViewAtIndex:]):
(-[WebViewController removeWebViewAtIndex:]):
(-[WebViewController addWebView]):
(-[WebViewController createWebView]):
(-[WebViewController removeWebView:]):
(-[WebViewController setCurrentWebView:]):
(-[WebViewController webView:didFailNavigation:withError:]):
(-[WebViewController observeValueForKeyPath:ofObject:change:context:]):
* MobileMiniBrowser/MobileMiniBrowser/main.m: Added.
(main):
* MobileMiniBrowser/MobileMiniBrowserUITests/Info.plist: Added.
* MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m: Added.
(-[MobileMiniBrowserUITests setUp]):
(-[MobileMiniBrowserUITests tearDown]):
(-[MobileMiniBrowserUITests testBasicVideoPlayback]):

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

3 years agoASSERT_NOT_REACHED() is touched in WebCore::minimumValueForLength
zalan@apple.com [Fri, 26 Aug 2016 23:25:29 +0000 (23:25 +0000)]
ASSERT_NOT_REACHED() is touched in WebCore::minimumValueForLength
https://bugs.webkit.org/show_bug.cgi?id=125781
<rdar://problem/27684457>

Reviewed by Simon Fraser.

Source/WebCore:

RenderTableSection::calcRowLogicalHeight misused minimumValueForLength to fallback to 0 for non-fixed values.
While this patch fixes the assertion, the table section code needs works to support calc values. See webkit.org/b/161273.

Test: fast/table/assert-on-min-max-content-values.html

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):

LayoutTests:

* fast/table/assert-on-min-max-content-values-expected.txt: Added.
* fast/table/assert-on-min-max-content-values.html: Added.

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

3 years agoRebaseline fast/dom/focus-contenteditable.html for ios-simulator after r205044.
ryanhaddad@apple.com [Fri, 26 Aug 2016 23:10:02 +0000 (23:10 +0000)]
Rebaseline fast/dom/focus-contenteditable.html for ios-simulator after r205044.

Unreviewed test gardening.

* platform/ios-simulator-wk2/fast/dom/focus-contenteditable-expected.txt:

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

3 years agowebkit-queues queue-status page should should list more recent statuses
aakash_jain@apple.com [Fri, 26 Aug 2016 22:52:06 +0000 (22:52 +0000)]
webkit-queues queue-status page should should list more recent statuses
https://bugs.webkit.org/show_bug.cgi?id=161220

Reviewed by Daniel Bates.

* QueueStatusServer/handlers/queuestatus.py:
(QueueStatus._fetch_statuses): Increase the number of recent statuses from 15 to 50.

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

3 years agoREGRESSION (r204987): fast/canvas-composite-* tests are now flaky assertion failures
akling@apple.com [Fri, 26 Aug 2016 22:41:41 +0000 (22:41 +0000)]
REGRESSION (r204987): fast/canvas-composite-* tests are now flaky assertion failures
<https://webkit.org/b/161259>

Reviewed by Joseph Pecoraro.

Fix a blunder where HTMLCanvasElement::memoryCost() wasn't forwarding the inquiry
to ImageBuffer but HTMLCanvasElement::externalMemoryCost() was.

This fixes flaky "externalMemorySize() <= extraMemorySize()" assertions on debug bots.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::memoryCost):

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

3 years agoGet rid of NetworkResourceLoader::sendAbortingOnFailure
andersca@apple.com [Fri, 26 Aug 2016 22:16:36 +0000 (22:16 +0000)]
Get rid of NetworkResourceLoader::sendAbortingOnFailure
https://bugs.webkit.org/show_bug.cgi?id=161267

Reviewed by Dan Bernstein.

NetworkResourceLoader::sendAbortingOnFailure sends an IPC message, and if IPC::Connection::send returns false,
it will abort the network resource load.

IPC::Connection::send will only return false if the connection is invalid, and when it becomes invalidated the
connection client member function "didClose" is invoked. For the network process, this will call abort on all outstanding
network loads.

Auditing all the sendAbortingOnFailure call sites, shows that none of them can be called with an invalid connection,
so replace sendAbortingOnFailure with send.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didReceiveResponse):
This is a NetworkLoadClient function which won't be called if the load has been aborted.

(WebKit::NetworkResourceLoader::didReceiveBuffer):
Ditto.

(WebKit::NetworkResourceLoader::didFinishLoading):
Ditto. Also, update a call to sendBufferMaybeAborting to sendBuffer.

(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
This is another NetworkLoadClient function.

(WebKit::NetworkResourceLoader::bufferingTimerFired):
The buffering timer is stopped when abort() is called.

(WebKit::NetworkResourceLoader::sendBuffer):
Rename this from sendBufferMaybeAborting. It has three call sites:
- didReceiveBuffer and didFinishLoading are both NetworkLoadClient functions.
- didRetrieveCacheEntry is called from didFinishLoading (a NetworkLoadClient function) and from
  the completion function of retrieveCacheEntry, which has an early return for when the loader has been aborted.

(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):
This is called from the retrieveCacheEntry completion function, which has an early return for when the loader has been aborted.

(WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):
Ditto.

(WebKit::NetworkResourceLoader::sendAbortingOnFailure): Deleted.
* NetworkProcess/NetworkResourceLoader.h:

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

3 years agoUnreviewed, update expectations of tests that can either crash or timeout on iOS...
jiewen_tan@apple.com [Fri, 26 Aug 2016 22:07:04 +0000 (22:07 +0000)]
Unreviewed, update expectations of tests that can either crash or timeout on iOS simulator WK1

* platform/ios-simulator-wk1/TestExpectations:

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

3 years agoThe :enabled/:disabled selectors should only match elements that can be disabled.
akling@apple.com [Fri, 26 Aug 2016 21:46:07 +0000 (21:46 +0000)]
The :enabled/:disabled selectors should only match elements that can be disabled.
<https://webkit.org/b/161255>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* web-platform-tests/html/semantics/selectors/pseudo-classes/disabled-expected.txt:

Source/WebCore:

Per the HTML spec, only the following elements can be actually disabled:

    button, input, select, textarea, optgroup, option, menuitem, fieldset

Since HTMLOutputElement inherits from HTMLFormControlElement, it had some
misguided ideas about being disableable. This was causing it to get matched
by :enabled and :disabled selectors.

Test: imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/disabled.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):
* css/SelectorCheckerTestFunctions.h:
(WebCore::matchesDisabledPseudoClass):
(WebCore::matchesEnabledPseudoClass): Renamed from isEnabled/isDisabled. Now only allows
:enabled and :disabled selectors to match elements that are actually disableable.

* html/HTMLElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::canBeActuallyDisabled):
(WebCore::HTMLElement::isActuallyDisabled): Added supporting functions for the aforementioned selectors.

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::parseAttribute): Don't care about disabled state
changes in elements that are not disableable in the first place.

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

3 years agoSkipping imported/w3c/web-platform-tests/html/dom/interfaces.html on Mac.
ryanhaddad@apple.com [Fri, 26 Aug 2016 21:41:28 +0000 (21:41 +0000)]
Skipping imported/w3c/web-platform-tests/html/dom/interfaces.html on Mac.
https://bugs.webkit.org/show_bug.cgi?id=161142

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

3 years agoREGRESSION(r204028): Fix unused-but-set-variable warning in generated JSNavigator.cpp
cdumez@apple.com [Fri, 26 Aug 2016 21:34:21 +0000 (21:34 +0000)]
REGRESSION(r204028): Fix unused-but-set-variable warning in generated JSNavigator.cpp
https://bugs.webkit.org/show_bug.cgi?id=161252

Reviewed by Ryosuke Niwa.

Improve support for [Conditional] with overloaded operations in the IDL.

No new tests, updated bindings tests.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GeneratePropertiesHashTable):
(getConditionalForFunctionConsideringOverloads):
(GenerateOverloadedFunctionOrConstructor):
(GenerateImplementation):
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation): Deleted.
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation): Deleted.
(WebCore::jsTestObjConstructorFunctionOverloadedMethod1): Deleted.
* bindings/scripts/test/TestObj.idl:

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

3 years agoUnreviewed, rebase iOS simulator WK1 tables tests
jiewen_tan@apple.com [Fri, 26 Aug 2016 21:23:45 +0000 (21:23 +0000)]
Unreviewed, rebase iOS simulator WK1 tables tests

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk1/tables/mozilla/bugs/bug30559-expected.txt:
* platform/ios-simulator-wk1/tables/mozilla_expected_failures/bugs/bug128876-expected.txt:
* platform/ios-simulator-wk1/tables/mozilla_expected_failures/bugs/bug3517-expected.txt: Added.
* platform/ios-simulator-wk1/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
* platform/ios-simulator-wk1/transitions/default-timing-function-expected.txt: Added.

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

3 years agoWeb Inspector: Add protocol version for iOS 10
joepeck@webkit.org [Fri, 26 Aug 2016 21:20:19 +0000 (21:20 +0000)]
Web Inspector: Add protocol version for iOS 10
https://bugs.webkit.org/show_bug.cgi?id=161266
<rdar://problem/28036594>

Rubber-stamped by Brian Burg.

* Localizations/en.lproj/localizedStrings.js:
Update missing localized strings.

* Versions/Inspector-iOS-10.0.json: Added.
Protocol for iOS 10.

* UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
Re-generate the legacy backend commands files.

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

3 years ago2016-08-26 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Fri, 26 Aug 2016 21:14:15 +0000 (21:14 +0000)]
2016-08-26  Geoffrey Garen  <ggaren@apple.com>

        Unreviewed build fix.

        Fix the CMake build.

        * CMakeLists.txt:

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

3 years agocharactersAroundPosition can be wrong because it crosses editing boundaries
bdakin@apple.com [Fri, 26 Aug 2016 21:11:55 +0000 (21:11 +0000)]
charactersAroundPosition can be wrong because it crosses editing boundaries
https://bugs.webkit.org/show_bug.cgi?id=161215
-and corresponding-
rdar://problem/27933564

Reviewed by Ryosuke Niwa.

Source/WebCore:

charactersAroundPosition() should not cross editing boundaries. This patch fixes
that by making nextCharacterBoundaryInDirection() take an
EditingBoundaryCrossingRule parameter to pass onto VisiblePosition::next() and
VisiblePosition::previous().

* editing/VisibleUnits.cpp:
(WebCore::nextCharacterBoundaryInDirection):
(WebCore::positionOfNextBoundaryOfGranularity):
(WebCore::charactersAroundPosition):

LayoutTests:

New test.
* editing/mac/spelling/accept-candidate-without-crossing-editing-boundary-expected.txt: Added.
* editing/mac/spelling/accept-candidate-without-crossing-editing-boundary.html: Added.

This test is going back to its pre-https://trac.webkit.org/changeset/195078 state.
That change caused this test to have a different layout because it caused more
layouts to happen. Now that we don’t allow the call to charactersAroundPosition()
to cross editing boundaries, those layouts don’t happen, and we have the old
behavior back.
* platform/mac/fast/dom/focus-contenteditable-expected.txt:

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

3 years agoWeb Inspector: Show IndexedDB Database/ObjectStore/Index data in a details sidebar
joepeck@webkit.org [Fri, 26 Aug 2016 20:59:16 +0000 (20:59 +0000)]
Web Inspector: Show IndexedDB Database/ObjectStore/Index data in a details sidebar
https://bugs.webkit.org/show_bug.cgi?id=161180
<rdar://problem/28003417>

Reviewed by Brian Burg.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Main.html:
New strings and file.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
Instantiate the global details sidebar.

* UserInterface/Views/StorageTabContentView.js:
(WebInspector.StorageTabContentView):
Include the new details sidebar in the Storage tab.

* UserInterface/Controllers/StorageManager.js:
(WebInspector.StorageManager.prototype._addIndexedDBDatabasesIfNeeded.processKeyPath):
Use the protocol generated types.

* UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js: Added.
(WebInspector.IndexedDatabaseDetailsSidebarPanel):
(WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.inspect):
(WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.layout):
(WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype._keyPathString):
Show the sidebar for an IndexedDatabase, ObjectStore, or Index.
Show each section if we can based on the objects we have.

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

3 years agoWeb Inspector: Test and address issues in IndexedDB.requestData
joepeck@webkit.org [Fri, 26 Aug 2016 20:59:13 +0000 (20:59 +0000)]
Web Inspector: Test and address issues in IndexedDB.requestData
https://bugs.webkit.org/show_bug.cgi?id=161178
<rdar://problem/28002467>

Reviewed by Brian Burg.

Source/WebCore:

Test: inspector/indexeddb/requestData.html

* inspector/InspectorIndexedDBAgent.cpp:
(idbKeyRangeFromKeyRange):
Parsing was too strict. "lower" and "upper" keys are optional.

(WebCore::DataLoader::execute):
Ensure the skip count is passed forward.

LayoutTests:

* inspector/indexeddb/requestData-expected.txt: Added.
* inspector/indexeddb/requestData.html: Added.

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

3 years agoWeb Inspector: Provide a way to clear an IndexedDB object store
joepeck@webkit.org [Fri, 26 Aug 2016 20:59:09 +0000 (20:59 +0000)]
Web Inspector: Provide a way to clear an IndexedDB object store
https://bugs.webkit.org/show_bug.cgi?id=161167
<rdar://problem/27996932>

Reviewed by Brian Burg.

Source/JavaScriptCore:

* inspector/protocol/IndexedDB.json:
Cleanup the protocol file.

Source/WebCore:

Test: inspector/indexeddb/clearObjectStore.html

* inspector/InspectorIndexedDBAgent.cpp:
Make the transaction for clearing an object store readwrite
instead of readonly, and activate it.

Source/WebInspectorUI:

* Localizations/en.lproj/localizedStrings.js:
"Clear object store".

* UserInterface/Controllers/StorageManager.js:
(WebInspector.StorageManager.prototype.clearObjectStore):
Provide a wrapper for clearing an object store.

* UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
(WebInspector.IndexedDatabaseObjectStoreContentView):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype.get navigationItems):
(WebInspector.IndexedDatabaseObjectStoreContentView.prototype._clearButtonClicked):
Add a navigation button on ObjectStore content views to clear the object store.

LayoutTests:

* inspector/indexeddb/clearObjectStore-expected.txt: Added.
* inspector/indexeddb/clearObjectStore.html: Added.

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

3 years agoWeb Inspector: Test IndexedDB.requestDatabase
joepeck@webkit.org [Fri, 26 Aug 2016 20:59:04 +0000 (20:59 +0000)]
Web Inspector: Test IndexedDB.requestDatabase
https://bugs.webkit.org/show_bug.cgi?id=161122

Reviewed by Brian Burg.

* inspector/indexeddb/requestDatabase-expected.txt: Added.
* inspector/indexeddb/requestDatabase.html: Added.
New tests.

* inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
* inspector/indexeddb/requestDatabaseNames.html:
Share code.

* inspector/indexeddb/resources/utilities.js: Added.
(deleteDatabaseNames):
(createEmptyDatabase):
(createDatabaseWithStores):
Helpers that can be used by each test.

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

3 years agoWeb Inspector: Modernize inspector/indexeddb tests
joepeck@webkit.org [Fri, 26 Aug 2016 20:59:01 +0000 (20:59 +0000)]
Web Inspector: Modernize inspector/indexeddb tests
https://bugs.webkit.org/show_bug.cgi?id=161113

Reviewed by Brian Burg.

* inspector/indexeddb/deleteDatabaseNamesWithSpace-expected.txt:
* inspector/indexeddb/deleteDatabaseNamesWithSpace.html:
* inspector/indexeddb/requestDatabaseNames-expected.txt:
* inspector/indexeddb/requestDatabaseNames.html:

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

3 years agoUnreviewed, rebase iOS simulator WK1 http tests
jiewen_tan@apple.com [Fri, 26 Aug 2016 20:54:19 +0000 (20:54 +0000)]
Unreviewed, rebase iOS simulator WK1 http tests

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk1/animations/trigger-container-scroll-simple-expected.txt: Added.
* platform/ios-simulator-wk1/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
* platform/ios-simulator-wk1/http/tests/dom/window-open-about-blank-and-access-document-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/dom/window-open-about-uppercase-blank-and-access-document-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/dom/window-open-about-webkit-org-and-access-document-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/proper-open-window-upgrades-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/security/cross-origin-modal-dialog-base-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/security/insecure-geolocation-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/security/mixedContent/insecure-form-in-main-frame-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/security/mixedContent/insecure-xhr-sync-in-main-frame-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/security/mixedcontent-geolocation-block-insecure-content-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/security/mixedcontent-geolocation-expected.txt: Added.
* platform/ios-simulator-wk1/http/tests/security/window-opened-from-sandboxed-iframe-should-inherit-sandbox-expected.txt: Added.
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/TestExpectations:

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

3 years agoCalling crossOriginWindow.toString() should not be allowed
cdumez@apple.com [Fri, 26 Aug 2016 20:35:21 +0000 (20:35 +0000)]
Calling crossOriginWindow.toString() should not be allowed
https://bugs.webkit.org/show_bug.cgi?id=161225

Reviewed by Andreas Kling.

Source/WebCore:

Calling crossOriginWindow.toString() should not be allowed:
- https://html.spec.whatwg.org/#crossoriginproperties-(-o-)

In WebKit, we were printing a security error in the console but
returning "[object Window]" anyway.

In Firefox and Chrome, it throws an exception.

No new tests, updated existing test.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):

LayoutTests:

Update existing tests to reflect the behavior change.

* http/tests/security/cross-frame-access-custom-expected.txt:
* http/tests/security/cross-frame-access-custom.html:
* http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
* http/tests/security/cross-frame-access-object-setPrototypeOf.html:

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

3 years ago[Cocoa] Infinite recursion calling -charValue on a WKNSNumber
mitz@apple.com [Fri, 26 Aug 2016 20:33:34 +0000 (20:33 +0000)]
[Cocoa] Infinite recursion calling -charValue on a WKNSNumber
https://bugs.webkit.org/show_bug.cgi?id=161258

Reviewed by Anders Carlsson.

Source/WebKit2:

* Shared/Cocoa/WKNSNumber.mm:
(-[WKNSNumber charValue]): Override this…
(-[WKNSNumber boolValue]): …not this.

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/WKNSNumber.mm:
(TestWebKitAPI::TEST):

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

3 years agoWeb Inspector: Some CSS selectors in the UI aren't escaped
commit-queue@webkit.org [Fri, 26 Aug 2016 20:29:17 +0000 (20:29 +0000)]
Web Inspector: Some CSS selectors in the UI aren't escaped
https://bugs.webkit.org/show_bug.cgi?id=151378

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-08-26
Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Change ElementData from sending a className string to using an array of
classes, allowing for proper escaping of each class value.

* inspector/protocol/OverlayTypes.json:

Source/WebCore:

No new tests, but logic and results of existing tests updated:
* inspector/dom/content-node-region-info.html:
* inspector/dom/content-node-region-info-expected.txt:
* inspector/dom/highlightNode-expected.txt:
* inspector/dom/highlightSelector.html:
* inspector/dom/highlightSelector-expected.txt:

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

* inspector/InspectorOverlayPage.css:
(.pseudo-type):
(.tag-name): Deleted.

* inspector/InspectorOverlayPage.js:
(_createElementTitle):

Source/WebInspectorUI:

* UserInterface/Base/DOMUtilities.js:
(WebInspector.displayNameForNode): Deleted.
(WebInspector.linkifyNodeReference):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

* UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode.prototype.get escapedIdSelector):
(WebInspector.DOMNode.prototype.get escapedClassSelector):
(WebInspector.DOMNode.prototype.get displayName):
(WebInspector.DOMNode.prototype.appropriateSelectorFor):
Rework escaping of ids and class names into separate public functions using CSS.escape.

* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection.prototype.refresh):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

* UserInterface/Views/DOMTreeDataGridNode.js:
(WebInspector.DOMTreeDataGridNode.prototype._createNameCellDocumentFragment):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

* UserInterface/Views/DOMTreeElementPathComponent.js:
(WebInspector.DOMTreeElementPathComponent):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

* UserInterface/Views/LayerTreeDataGridNode.js:
(WebInspector.LayerTreeDataGridNode.prototype.set layer):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

* UserInterface/Views/VisualStyleSelectorSection.js:
(WebInspector.VisualStyleSelectorSection.prototype.update):
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

LayoutTests:

* inspector/dom/content-node-region-info.html:
* inspector/dom/content-node-region-info-expected.txt:
Use DOMNode.prototype.displayName instead of WebInspector.displayNameForNode.

* inspector/dom/highlightNode-expected.txt:
* inspector/dom/highlightSelector.html:
* inspector/dom/highlightSelector-expected.txt:
Changed result to replace className with new classes array.

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

3 years agoWeb Inspector: ScriptProfilerAgent and HeapAgent should do less work when frontend...
joepeck@webkit.org [Fri, 26 Aug 2016 20:22:24 +0000 (20:22 +0000)]
Web Inspector: ScriptProfilerAgent and HeapAgent should do less work when frontend disconnects
https://bugs.webkit.org/show_bug.cgi?id=161213
<rdar://problem/28017986>

Reviewed by Brian Burg.

* inspector/agents/InspectorHeapAgent.cpp:
(Inspector::InspectorHeapAgent::willDestroyFrontendAndBackend):
Don't take a final snapshot when disconnecting.

* inspector/agents/InspectorScriptProfilerAgent.cpp:
(Inspector::InspectorScriptProfilerAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorScriptProfilerAgent::stopSamplingWhenDisconnecting):
* inspector/agents/InspectorScriptProfilerAgent.h:
* runtime/SamplingProfiler.h:
Don't process samples when disconnecting.

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

3 years agoWeb Inspector: HeapProfiler/ScriptProfiler do not destruct safely when JSContext...
joepeck@webkit.org [Fri, 26 Aug 2016 20:22:21 +0000 (20:22 +0000)]
Web Inspector: HeapProfiler/ScriptProfiler do not destruct safely when JSContext is destroyed
https://bugs.webkit.org/show_bug.cgi?id=161027
<rdar://problem/27871349>

Reviewed by Mark Lam.

For JSContext inspection, when a frontend connects keep the target alive.
This means ref'ing the JSGlobalObject / VM when the first frontend
connects and deref'ing when the last frontend disconnects.

* inspector/JSGlobalObjectInspectorController.h:
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
(Inspector::JSGlobalObjectInspectorController::disconnectAllFrontends): Deleted.
Now that frontends keep the global object alive, when the global object
is destroyed that must mean that no frontends exist. Remove the now
stale code path.

(Inspector::JSGlobalObjectInspectorController::connectFrontend):
(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
Ref the target when the first frontend connects, deref when the last disconnects.

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

3 years agoRenamed XLarge* => Large*
ggaren@apple.com [Fri, 26 Aug 2016 20:18:00 +0000 (20:18 +0000)]
Renamed XLarge* => Large*
https://bugs.webkit.org/show_bug.cgi?id=161261

Reviewed by Andreas Kling.

XLarge is not a thing anymore: We just have Small and Large.

* bmalloc.xcodeproj/project.pbxproj:
* bmalloc/Heap.cpp:
(bmalloc::Heap::splitAndAllocate):
(bmalloc::Heap::tryAllocateLarge):
(bmalloc::Heap::shrinkLarge):
(bmalloc::Heap::deallocateLarge):
* bmalloc/Heap.h:
* bmalloc/LargeMap.cpp: Copied from Source/bmalloc/bmalloc/XLargeMap.cpp.
(bmalloc::LargeMap::remove):
(bmalloc::LargeMap::add):
(bmalloc::XLargeMap::remove): Deleted.
(bmalloc::XLargeMap::add): Deleted.
* bmalloc/LargeMap.h: Copied from Source/bmalloc/bmalloc/XLargeMap.h.
(bmalloc::LargeMap::ranges):
(bmalloc::XLargeMap::ranges): Deleted.
* bmalloc/LargeRange.h: Copied from Source/bmalloc/bmalloc/XLargeRange.h.
(bmalloc::LargeRange::LargeRange):
(bmalloc::LargeRange::operator<):
(bmalloc::canMerge):
(bmalloc::merge):
(bmalloc::LargeRange::split):
(bmalloc::XLargeRange::XLargeRange): Deleted.
(bmalloc::XLargeRange::operator<): Deleted.
(bmalloc::XLargeRange::split): Deleted.
* bmalloc/VMHeap.cpp:
(bmalloc::VMHeap::tryAllocateLargeChunk):
* bmalloc/VMHeap.h:
* bmalloc/XLargeMap.cpp: Removed.
* bmalloc/XLargeMap.h: Removed.
* bmalloc/XLargeRange.h: Removed.

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

3 years agoCrash when getting font bounding rect
bfulgham@apple.com [Fri, 26 Aug 2016 18:12:56 +0000 (18:12 +0000)]
Crash when getting font bounding rect
https://bugs.webkit.org/show_bug.cgi?id=161202
<rdar://problem/27986981>

Reviewed by Myles C. Maxfield.

We should never store GlyphData objects for later use, because they contain raw pointers to Font elements
contained in caches, and those font caches get periodically purged.

Instead, we should hold onto the ‘key’ representing the GlyphData, and simply ask the system for the
GlyphData the next time it is needed.

Tested by existing MathML tests under ASAN and GuardMalloc.

* rendering/mathml/RenderMathMLToken.cpp:
(WebCore::RenderMathMLToken::RenderMathMLToken): Clean up constructors.
(WebCore::RenderMathMLToken::computePreferredLogicalWidths): Use keys to get correct GlyphData when needed.
(WebCore::RenderMathMLToken::updateMathVariantGlyph): Ditto.
(WebCore::RenderMathMLToken::firstLineBaseline): Ditto.
(WebCore::RenderMathMLToken::layoutBlock): Ditto.
(WebCore::RenderMathMLToken::paint): Ditto.
(WebCore::RenderMathMLToken::paintChildren): Ditto.
* rendering/mathml/RenderMathMLToken.h:

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

3 years agoHTMLAreaElement's coords attributes parsing does not comply with the HTML specification
cdumez@apple.com [Fri, 26 Aug 2016 18:09:01 +0000 (18:09 +0000)]
HTMLAreaElement's coords attributes parsing does not comply with the HTML specification
https://bugs.webkit.org/show_bug.cgi?id=161216

Reviewed by Andreas Kling.

LayoutTests/imported/w3c:

Rebaseline W3C test now that all checks are passing. Chrome is also passing all the checks.

* web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords-expected.txt:

Source/WebCore:

HTMLAreaElement's coords attributes parsing does not comply with the HTML specification:
- https://html.spec.whatwg.org/#attr-area-coords

This patch aligns our parsing of this attribute with the specification and Chrome.

No new tests, rebaselined existing test.

* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::HTMLAreaElement):
(WebCore::HTMLAreaElement::parseAttribute):
(WebCore::HTMLAreaElement::getRegion):
* html/HTMLAreaElement.h:
* html/parser/HTMLParserIdioms.cpp:
(WebCore::isHTMLSpaceOrDelimiter):
(WebCore::isNumberStart):
(WebCore::parseHTMLListOfOfFloatingPointNumberValuesInternal):
(WebCore::parseHTMLListOfOfFloatingPointNumberValues):
(WebCore::parseHTMLNonNegativeInteger): Deleted.
* html/parser/HTMLParserIdioms.h:

LayoutTests:

Unskip web-platform-tests/html/semantics/embedded-content/the-area-element/area-coords.html
as it is now passing and not longer crashing in debug builds.

* TestExpectations:

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

3 years agoFix the !ENABLE(WEB_SOCKETS) build
ossy@webkit.org [Fri, 26 Aug 2016 18:00:28 +0000 (18:00 +0000)]
Fix the !ENABLE(WEB_SOCKETS) build
https://bugs.webkit.org/show_bug.cgi?id=161251

Reviewed by Alex Christensen.

* page/SocketProvider.h:

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

3 years agoFix the !ENABLE(WEB_TIMING) build
ossy@webkit.org [Fri, 26 Aug 2016 17:58:46 +0000 (17:58 +0000)]
Fix the !ENABLE(WEB_TIMING) build
https://bugs.webkit.org/show_bug.cgi?id=161250

Reviewed by Alex Christensen.

* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didFinishLoading):
* loader/cache/CachedResourceLoader.h:
(WebCore::CachedResourceLoader::resourceTimingInformation):

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

3 years ago[ES6] newPromiseCapabilities should check the given argument is constructor
utatane.tea@gmail.com [Fri, 26 Aug 2016 17:37:31 +0000 (17:37 +0000)]
[ES6] newPromiseCapabilities should check the given argument is constructor
https://bugs.webkit.org/show_bug.cgi?id=161226

Reviewed by Mark Lam.

JSTests:

The arrow function should not be a constructor. So the error should be raised.

* stress/new-promise-capabilities-requires-constructor.js: Added.
(shouldThrow):

Source/JavaScriptCore:

Use @isConstructor.

* builtins/PromiseOperations.js:

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

3 years agoTrying to access cross-origin Location properties should throw a SecurityError
cdumez@apple.com [Fri, 26 Aug 2016 17:36:59 +0000 (17:36 +0000)]
Trying to access cross-origin Location properties should throw a SecurityError
https://bugs.webkit.org/show_bug.cgi?id=161248

Reviewed by Alex Christensen.

Source/WebCore:

Trying to access cross-origin Location properties should throw a SecurityError:
- https://html.spec.whatwg.org/#crossorigingetownpropertyhelper-(-o,-p-)
- https://html.spec.whatwg.org/#crossoriginproperties-(-o-)

Firefox and Chrome already throw. However, WebKit was logging an error message
and returning undefined.

No new tests, updated existing tests.

* bindings/js/JSDOMBinding.cpp:
(WebCore::throwSecurityError):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertySlotDelegate):

LayoutTests:

Update existing tests to reflect behavior change.

* http/tests/plugins/cross-frame-object-access-expected.txt:
* http/tests/plugins/resources/cross-frame-object-access.html:
* http/tests/security/XFrameOptions/x-frame-options-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny.html:
* http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-ignore-deny-meta-tag-parent-same-origin-deny.html:
* http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-multiple-headers-sameorigin-deny.html:
* http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html:
* http/tests/security/cross-frame-access-callback-explicit-domain-DENY-expected.txt:
* http/tests/security/cross-frame-access-child-explicit-domain-expected.txt:
* http/tests/security/cross-frame-access-custom-expected.txt:
* http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
* http/tests/security/cross-frame-access-history-get-expected.txt:
* http/tests/security/cross-frame-access-history-get-override-expected.txt:
* http/tests/security/cross-frame-access-location-get-expected.txt:
* http/tests/security/cross-frame-access-location-get-override-expected.txt:
* http/tests/security/cross-frame-access-parent-explicit-domain-expected.txt:
* http/tests/security/cross-frame-access-port-expected.txt:
* http/tests/security/cross-frame-access-protocol-expected.txt:
* http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-expected.txt:
* http/tests/security/dataURL/xss-DENIED-to-data-url-sub-frame-uppercase-expected.txt:
* http/tests/security/location-cross-origin-expected.txt:
* http/tests/security/location-cross-origin.html:
* http/tests/security/resources/cross-frame-access.js:
(canGet):
(canGetDescriptor):
(canCall):
(toString):
* http/tests/security/sandboxed-iframe-blocks-access-from-parent-expected.txt:
* http/tests/security/xss-DENIED-defineProperty-expected.txt:
* http/tests/security/xss-DENIED-defineProperty.html:
* http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
* http/tests/security/xssAuditor/block-does-not-leak-location.html:
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html:
* http/tests/security/xssAuditor/resources/utilities.js:
(checkIfFrameLocationMatchesSrcAndCallDone):

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

3 years ago[Win] Warning fixes.
pvollan@apple.com [Fri, 26 Aug 2016 17:36:15 +0000 (17:36 +0000)]
[Win] Warning fixes.
https://bugs.webkit.org/show_bug.cgi?id=161241

Reviewed by Brent Fulgham.

MSVC warns about potential use of uninitialized variables.

* accessibility/AXObjectCache.cpp:
* css/parser/CSSParserValues.cpp:

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

3 years ago[MediaStream] Add support for OverConstrainedErrorEvent
eric.carlson@apple.com [Fri, 26 Aug 2016 17:13:35 +0000 (17:13 +0000)]
[MediaStream] Add support for OverConstrainedErrorEvent
https://bugs.webkit.org/show_bug.cgi?id=161199
<rdar://problem/28011819>

Reviewed by Jer Noble.

Source/WebCore:

Test: fast/events/constructors/overconstrained-error-event-constructor.html

* CMakeLists.txt:
* DerivedSources.make:
* Modules/mediastream/OverconstrainedErrorEvent.h: Added.
(WebCore::OverconstrainedErrorEvent::~OverconstrainedErrorEvent):
(WebCore::OverconstrainedErrorEvent::create):
(WebCore::OverconstrainedErrorEvent::createForBindings):
(WebCore::OverconstrainedErrorEvent::error):
(WebCore::OverconstrainedErrorEvent::eventInterface):
(WebCore::OverconstrainedErrorEvent::OverconstrainedErrorEvent):
* Modules/mediastream/OverconstrainedErrorEvent.idl: Added.

* WebCore.xcodeproj/project.pbxproj: Add new files.

* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue): Add OverconstrainedErrorEvent converter.
* bindings/js/JSDictionary.h:

* dom/EventNames.in: Add OverconstrainedErrorEvent.

LayoutTests:

* fast/events/constructors/overconstrained-error-event-constructor-expected.txt: Added.
* fast/events/constructors/overconstrained-error-event-constructor.html: Added.
* js/dom/global-constructors-attributes-expected.txt: Updated.
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:

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

3 years agotoString called on proxies returns incorrect tag
keith_miller@apple.com [Fri, 26 Aug 2016 17:05:21 +0000 (17:05 +0000)]
toString called on proxies returns incorrect tag
https://bugs.webkit.org/show_bug.cgi?id=161111

Reviewed by Benjamin Poulain.

This patch adds a new Method table function toStringName. This function
is used by Object.prototype.toString to create the string tag that it
inserts. Right now it only changes the stringification of proxy objects.
In future patches I plan to make it work for other classes of objects as
well.

* runtime/ClassInfo.h:
* runtime/JSCell.cpp:
(JSC::JSCell::toStringName):
* runtime/JSCell.h:
* runtime/JSObject.cpp:
(JSC::JSObject::toStringName):
* runtime/JSObject.h:
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncToString):
* runtime/ProxyObject.cpp:
(JSC::ProxyObject::toStringName):
* runtime/ProxyObject.h:

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

3 years agobmalloc: speed up the lock slow path
barraclough@apple.com [Fri, 26 Aug 2016 17:02:37 +0000 (17:02 +0000)]
bmalloc: speed up the lock slow path
https://bugs.webkit.org/show_bug.cgi?id=161058

Unreviewed rollout - this caused regressions <rdar://problem/28026089>.

* bmalloc.xcodeproj/project.pbxproj:
* bmalloc/ScopeExit.h: Removed.
* bmalloc/StaticMutex.cpp:
(bmalloc::StaticMutex::lockSlowCase):
* bmalloc/StaticMutex.h:
(bmalloc::StaticMutex::init):
* bmalloc/ThreadSwitch.h: Removed.

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

3 years agoFix the ENABLE(WEBASSEMBLY) build on Linux
ossy@webkit.org [Fri, 26 Aug 2016 16:54:14 +0000 (16:54 +0000)]
Fix the ENABLE(WEBASSEMBLY) build on Linux
https://bugs.webkit.org/show_bug.cgi?id=161197

Reviewed by Mark Lam.

Source/JavaScriptCore:

* CMakeLists.txt:
* b3/B3Common.cpp:
(JSC::B3::shouldDumpIR):
* shell/CMakeLists.txt:
* wasm/JSWASMModule.h:
* wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::toB3Op):
* wasm/WASMB3IRGenerator.h:
* wasm/WASMFormat.h:
* wasm/WASMFunctionParser.h:
* wasm/WASMModuleParser.cpp:
(JSC::WASM::WASMModuleParser::parseFunctionTypes):
* wasm/WASMModuleParser.h:
* wasm/WASMParser.h:
* wasm/WASMPlan.cpp:
* wasm/WASMPlan.h:
* wasm/WASMSections.cpp:

Source/WTF:

* wtf/Platform.h:

Tools:

* Scripts/build-jsc:

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

3 years ago[Win] Compile fix.
pvollan@apple.com [Fri, 26 Aug 2016 16:50:15 +0000 (16:50 +0000)]
[Win] Compile fix.
https://bugs.webkit.org/show_bug.cgi?id=161235

Reviewed by Brent Fulgham.

YarrPattern::errorMessage has inconsistent dll linkage.

* yarr/YarrPattern.h:

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

3 years agoThe annotation-xml element does not need to be behave as an mrow
commit-queue@webkit.org [Fri, 26 Aug 2016 16:41:48 +0000 (16:41 +0000)]
The annotation-xml element does not need to be behave as an mrow
https://bugs.webkit.org/show_bug.cgi?id=161230

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-26
Reviewed by Manuel Rego Casasnovas.

Source/WebCore:

In r204779, MathMLAnnotationElement was made a MathMLRowElement just because the
annotation-xml element is generating a RenderMathMLRow. This later point is actually not
needed since annotation-xml is just a wrapper for foreign elements and so does not need to
handle special MathML features like operator spacing or stretching. We can thus move back
MathMLAnnotationElement to a generic MathMLPresentationElement and instead make the
annotation-xml element generate a generic RenderMathMLBlock renderer.

No new tests, semantics annotations already covered by existing tests.

* mathml/MathMLAnnotationElement.cpp: Replace RenderMathMLRow.h with RenderMathMLBlock.h
(WebCore::MathMLAnnotationElement::MathMLAnnotationElement): Inherit from
MathMLPresentationElement instead of MathMLRowElement.
(WebCore::MathMLAnnotationElement::createElementRenderer): Make annotation-xml create a
RenderMathMLBlock instead of a RenderMathMLRow.
(WebCore::MathMLAnnotationElement::attributeChanged): Inherit from MathMLPresentationElement
instead of MathMLRowElement.
* mathml/MathMLAnnotationElement.h: Ditto.

LayoutTests:

* platform/efl/accessibility/math-foreign-content-expected.txt: Remove the AXGroup from the
test expectation, which that was used for annotation-xml.
* platform/gtk/accessibility/math-foreign-content-expected.txt: Ditto.
* platform/mac/accessibility/math-foreign-content-expected.txt: Ditto.

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

3 years ago[GTK] run-gtk-tests should use the driver environment for checking the accessibility bus
clopez@igalia.com [Fri, 26 Aug 2016 16:36:29 +0000 (16:36 +0000)]
[GTK] run-gtk-tests should use the driver environment for checking the accessibility bus
https://bugs.webkit.org/show_bug.cgi?id=161149

Reviewed by Carlos Garcia Campos.

Add a new function for waiting for the accesibility bus. It sets
the test environment variables before starting the GLib mainloop.
And restores the previous environment after it has finished.
It also adds a timeout (5 seconds) to abort in case it has not
been able to detect the accesibility bus before the timeout expires.

* Scripts/run-gtk-tests:
(TestRunner):
(TestRunner._wait_for_accessibility_bus):
(TestRunner._wait_for_accessibility_bus.timeout_accessibility_bus):
(TestRunner._start_accessibility_daemons):
(TestRunner._get_tests_from_google_test_suite): Run this command also with the driver test environment.

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

3 years ago[Win] Warning fix.
pvollan@apple.com [Fri, 26 Aug 2016 16:35:26 +0000 (16:35 +0000)]
[Win] Warning fix.
https://bugs.webkit.org/show_bug.cgi?id=161236

Reviewed by Brent Fulgham.

The & operator in the Test struct has no body.

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

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

3 years agoTypo fix after r56209
ossy@webkit.org [Fri, 26 Aug 2016 16:33:03 +0000 (16:33 +0000)]
Typo fix after r56209
https://bugs.webkit.org/show_bug.cgi?id=161246

Reviewed by Gyuyoung Kim.

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

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

3 years ago[GTK] run-gtk-tests should use webkitpy.port.gtk and webkitpy.port.xvfbdriver
clopez@igalia.com [Fri, 26 Aug 2016 16:32:32 +0000 (16:32 +0000)]
[GTK] run-gtk-tests should use webkitpy.port.gtk and webkitpy.port.xvfbdriver
https://bugs.webkit.org/show_bug.cgi?id=160736

Reviewed by Carlos Garcia Campos.

This plugs run-gtk-tests into the webkitpy testing infrastructure.
As a benefit of this, run-gtk-tests now can be executed over any of
the existing supported gtk test display servers (xvfb, weston-over-xvfb,
or native xorg). A new command line switch --wayland is added for
run-gtk-tests.

* Scripts/run-gtk-tests:
(TestRunner.__init__): Remove the --display command line switch, its not longer useful.
Add a --wayland command line switch.
(TestRunner._start_accessibility_daemons):
(TestRunner):
(TestRunner.__init__):
(TestRunner._run_xvfb): Deleted.
(TestRunner._create_driver):
(TestRunner._setup_testing_environment): Delete the environment variable definitions that
are now done by driver._setup_environ_for_test().
(TestRunner._tear_down_testing_environment):
* Scripts/webkitpy/port/driver.py:
(Driver.__init__): Define self._server_name in the constructor of the base class.
It is used by several functions, so it makes sense to store once the value here.
(Driver._setup_environ_for_test): Factorize setting the environment for a given test.
(Driver._start): Get the environment from self._setup_environ_for_test()
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest):
(DriverTest.test_setup_environ_for_test): Add unittest for driver._setup_environ_for_test()
* Scripts/webkitpy/port/gtk.py: Move the inspection of the env var USE_NATIVE_XDISPLAY to the constructor.
(GtkPort.__init__):
(GtkPort._driver_class):
* Scripts/webkitpy/port/westondriver.py: Define and use self._setup_environ_for_test()
(WestonDriver._setup_environ_for_test):
(WestonDriver._start):
* Scripts/webkitpy/port/xorgdriver.py: Define and use self._setup_environ_for_test()
(XorgDriver._setup_environ_for_test):
(XorgDriver._start):
* Scripts/webkitpy/port/xvfbdriver.py: Define and use self._setup_environ_for_test()
(XvfbDriver._setup_environ_for_test):
(XvfbDriver._start):

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

3 years agoReinstate flakiness expectations for viewport tests, as they are still flaky.
ap@apple.com [Fri, 26 Aug 2016 16:04:23 +0000 (16:04 +0000)]
Reinstate flakiness expectations for viewport tests, as they are still flaky.
https://bugs.webkit.org/show_bug.cgi?id=153110

* platform/ios-simulator-wk2/TestExpectations:

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

3 years ago[EFL][GTK] REGRESSION(204877): Fix the clean build
ossy@webkit.org [Fri, 26 Aug 2016 14:04:42 +0000 (14:04 +0000)]
[EFL][GTK] REGRESSION(204877): Fix the clean build
https://bugs.webkit.org/show_bug.cgi?id=161240

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

* Scripts/generate-forwarding-headers.pl: Added back multiple include-path support. (removed by r183389)

Tools:

* WebKitTestRunner/PlatformEfl.cmake:
* WebKitTestRunner/PlatformGTK.cmake:

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

3 years ago[Win] Warning fixes.
pvollan@apple.com [Fri, 26 Aug 2016 13:29:31 +0000 (13:29 +0000)]
[Win] Warning fixes.
https://bugs.webkit.org/show_bug.cgi?id=161077

Reviewed by Brent Fulgham.

* css/CSSGrammar.y.includes:
* css/RuleFeature.cpp:
(WebCore::makeAttributeSelectorKey):
* editing/TextIterator.cpp:
(WebCore::SearchBuffer::SearchBuffer):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::textToFragment):
* html/MediaElementSession.h:
* platform/URL.cpp:
* platform/graphics/ca/GraphicsLayerCA.cpp:
* platform/network/HTTPParsers.cpp:
(WebCore::parseHTTPHeader):
* rendering/InlineIterator.h:
(WebCore::InlineIterator::clear):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::FlexBoxIterator::reset):
* rendering/RenderText.cpp:
(WebCore::RenderText::secureText):
* rendering/mathml/RenderMathMLToken.cpp:
(WebCore::mathVariant):
* style/InlineTextBoxStyle.cpp:
(WebCore::visualOverflowForDecorations):
* xml/XPathGrammar.y:

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

3 years agoEWS should indicate which bot processed the patch
aakash_jain@apple.com [Fri, 26 Aug 2016 10:54:51 +0000 (10:54 +0000)]
EWS should indicate which bot processed the patch
https://bugs.webkit.org/show_bug.cgi?id=161222

Reviewed by Daniel Bates.

* QueueStatusServer/handlers/statusbubble.py:
(StatusBubble._build_bubble): Display the bot id in status bubble. Also removed "Started processing" message since
after bug fix of 161223, bots send the "Started processing patch" message and it would be displayed in Recent messages.
Also added "Started processing patch" message to progress_statuses.
I might consider displaying bot id in other statuses as well later on.

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

3 years agoUnreviewed EFL build fix since r204996.
gyuyoung.kim@webkit.org [Fri, 26 Aug 2016 08:46:02 +0000 (08:46 +0000)]
Unreviewed EFL build fix since r204996.

Patch by Gyuyoung Kim <gyuyoung.kim@navercorp.com> on 2016-08-26

* UIProcess/efl/WebPageProxyEfl.cpp:
(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::setThemePath):
(WebKit::WebPageProxy::confirmComposition):
(WebKit::WebPageProxy::setComposition):
(WebKit::WebPageProxy::cancelComposition):

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

3 years agoMake custom constructors consistent with generated bindings code
nael.ouedraogo@crf.canon.fr [Fri, 26 Aug 2016 08:04:02 +0000 (08:04 +0000)]
Make custom constructors consistent with generated bindings code
https://bugs.webkit.org/show_bug.cgi?id=159550

Reviewed by Youenn Fablet.

Add assertion to check DOMConstructorObject* passed in ExecState is not null.
Rename throwConstructorDocumentUnavailableError to throwConstructorScriptExecutionContextUnavailableError since
ScriptExecutionContext is not necessarily a Document.
Modify error message in case of argument error to be consistent with generated binding code: replace calls to
throwVMError with calls to throwConstructorScriptExecutionContextUnavailableError and throwArgumentTypeError.

No new test required. Modify tests and tests expectations to align with new error messages.

Source/WebCore:

* bindings/js/JSAudioContextCustom.cpp:
(WebCore::constructJSAudioContext):
* bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
* bindings/js/JSDOMBinding.cpp:
(WebCore::throwConstructorScriptExecutionContextUnavailableError):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMConstructor.h:
(WebCore::JSBuiltinConstructor<JSClass>::callConstructor):
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::constructJSDOMFormData):
* bindings/js/JSDataCueCustom.cpp:
(WebCore::constructJSDataCue):
* bindings/js/JSFileCustom.cpp:
(WebCore::constructJSFile):
* bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement):
* bindings/js/JSMediaSessionCustom.cpp:
(WebCore::constructJSMediaSession):
* bindings/js/JSMutationObserverCustom.cpp:
(WebCore::constructJSMutationObserver):
* bindings/js/JSReadableStreamPrivateConstructors.cpp:
(WebCore::constructJSReadableStreamDefaultReader):
* bindings/js/JSWorkerCustom.cpp:
(WebCore::constructJSWorker):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallbackImplementation):
(NativeToJSValue):
(GenerateHashTableValueArray):
(GenerateConstructorDefinition):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::construct):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::construct):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors3):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::constructJSTestOverloadedConstructorsWithSequence1):
(WebCore::constructJSTestOverloadedConstructorsWithSequence2):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):

LayoutTests:

* fast/dom/MutationObserver/mutation-observer-constructor-expected.txt:
* fast/files/file-constructor-expected.txt:
* fast/files/file-constructor.html:

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

3 years ago[EFL] Change homepage url to www.ewebkit.org on MiniBrowser
gyuyoung.kim@webkit.org [Fri, 26 Aug 2016 07:36:01 +0000 (07:36 +0000)]
[EFL] Change homepage url to ewebkit.org on MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=161184

Reviewed by Carlos Garcia Campos.

* MiniBrowser/efl/main.c: Set www.ewebkit.org.

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

3 years agoUnreviewed. Fix GTK+ build after r204986 and r204996.
carlosgc@webkit.org [Fri, 26 Aug 2016 06:55:50 +0000 (06:55 +0000)]
Unreviewed. Fix GTK+ build after r204986 and r204996.

Source/WebCore:

* page/DOMWindow.idl:

Source/WebKit2:

* Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::willSendSyncMessage):
(IPC::Connection::didReceiveSyncReply):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::drawPagesForPrinting):

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

3 years agoews queues should update status server when they start processing patch
aakash_jain@apple.com [Fri, 26 Aug 2016 05:33:58 +0000 (05:33 +0000)]
ews queues should update status server when they start processing patch
https://bugs.webkit.org/show_bug.cgi?id=161223

Reviewed by Daniel Bates.

* Scripts/webkitpy/tool/commands/queues.py:
(AbstractReviewQueue.process_work_item): Update status server that the bot started processing the patch.
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(EarlyWarningSystemTest._default_expected_logs): Updated the unit test accordingly.
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(StyleQueueTest.test_style_queue_with_style_exception): Same.
(test_style_queue_with_watch_list_exception): Same.
(test_non_valid_patch): Same.

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

3 years agoUnreviewed, rebase iOS simulator WK1 imported/w3c tests
jiewen_tan@apple.com [Fri, 26 Aug 2016 02:16:41 +0000 (02:16 +0000)]
Unreviewed, rebase iOS simulator WK1 imported/w3c tests

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk1/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin-expected.txt: Added.
* platform/ios-simulator-wk1/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-navigation-samedoc-expected.txt: Added.
* platform/ios-simulator-wk1/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/scroll-frag-percent-encoded-expected.txt: Added.
* platform/ios-simulator-wk1/imported/w3c/web-platform-tests/html/browsers/browsing-the-web/unloading-documents/001-expected.txt: Added.
* platform/ios-simulator-wk1/imported/w3c/web-platform-tests/html/browsers/windows/noreferrer-window-name-expected.txt: Added.

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

3 years ago[iOS Simulator] Rebaseline many tests under LayoutTests/svg/ for ios-simulator and...
commit-queue@webkit.org [Fri, 26 Aug 2016 01:53:06 +0000 (01:53 +0000)]
[iOS Simulator] Rebaseline many tests under LayoutTests/svg/ for ios-simulator and enable them for testing
https://bugs.webkit.org/show_bug.cgi?id=161166

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-08-25
Reviewed by Simon Fraser.

* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/svg/W3C-I18N: Added.
* platform/ios-simulator/svg/W3C-I18N/g-dirLTR-ubNone-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/g-dirLTR-ubOverride-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-anchor-no-markup-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-dirLTR-ubNone-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-direction-ltr-expected.txt: Added.
* platform/ios-simulator/svg/W3C-I18N/tspan-direction-rtl-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/struct-dom-11-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/struct-use-11-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-25-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-28-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-34-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-52-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-60-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-61-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-62-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-84-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/animate-elem-85-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/color-prof-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/color-prop-02-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/color-prop-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-coord-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-coord-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-units-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-diffuse-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-gauss-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-offset-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-specular-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-desc-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-glyph-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-05-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/linking-a-07-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/masking-mask-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/masking-path-05-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-fill-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-fill-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-fill-04-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-fill-05-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-marker-01-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-marker-03-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/painting-stroke-07-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-03-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-08-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-10-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-12-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-13-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-14-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/paths-data-15-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-05-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-15-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-16-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-18-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-grad-19-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/script-handle-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/script-handle-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/script-handle-04-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/shapes-circle-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/shapes-ellipse-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/shapes-line-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/shapes-polygon-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/shapes-polyline-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/shapes-rect-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-cond-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-cond-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-defs-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-frag-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-frag-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-frag-04-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-frag-05-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-group-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-group-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-04-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-05-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-06-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-07-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-08-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-09-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-image-10-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-symbol-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-use-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/struct-use-05-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-04-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-05-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/styling-css-06-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/styling-inherit-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/styling-pres-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-align-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-align-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-align-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-align-04-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-align-05-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-align-06-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-align-08-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-fonts-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-path-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-text-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-text-03-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-text-04-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-text-05-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-text-06-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-text-07-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-text-08-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-tref-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt: Added.
* platform/ios-simulator/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.txt: Added.
* platform/ios-simulator/svg/batik: Added.
* platform/ios-simulator/svg/batik/text: Added.
* platform/ios-simulator/svg/batik/text/longTextOnPath-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/smallFonts-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textAnchor-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textAnchor2-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textAnchor3-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textDecoration-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textDecoration2-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textEffect-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textEffect2-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textEffect3-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textFeatures-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textGlyphOrientationHorizontal-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textLayout-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textLayout2-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textLength-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textOnPath-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textOnPath2-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textOnPath3-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textOnPathSpaces-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textPCDATA-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textPosition-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textPosition2-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textProperties-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textProperties2-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/textStyles-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/verticalText-expected.txt: Added.
* platform/ios-simulator/svg/batik/text/verticalTextOnPath-expected.txt: Added.
* platform/ios-simulator/svg/text/selection-background-color-expected.txt: Added.
* platform/ios-simulator/svg/text/small-fonts-2-expected.txt: Added.
* platform/ios-simulator/svg/text/small-fonts-3-expected.txt: Added.
* platform/ios-simulator/svg/text/small-fonts-expected.txt: Added.
* platform/ios-simulator/svg/text/text-align-01-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-align-02-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-align-03-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-align-04-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-align-05-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-align-06-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-altglyph-01-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-deco-01-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-fill-opacity-expected.txt: Added.
* platform/ios-simulator/svg/text/text-fonts-01-t-expected.txt: Added.
* platform/ios-simulator/svg/text/text-fonts-02-t-expected.txt: Added.
* platform/ios-simulator/svg/text/text-gradient-positioning-expected.txt: Added.
* platform/ios-simulator/svg/text/text-hkern-expected.txt: Added.
* platform/ios-simulator/svg/text/text-intro-05-t-expected.txt: Added.
* platform/ios-simulator/svg/text/text-midpoint-split-bug-expected.txt: Added.
* platform/ios-simulator/svg/text/text-path-01-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-path-middle-align-expected.txt: Added.
* platform/ios-simulator/svg/text/text-spacing-01-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-text-01-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-text-03-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-text-04-t-expected.txt: Added.
* platform/ios-simulator/svg/text/text-text-05-t-expected.txt: Added.
* platform/ios-simulator/svg/text/text-text-06-t-expected.txt: Added.
* platform/ios-simulator/svg/text/text-text-07-t-expected.txt: Added.
* platform/ios-simulator/svg/text/text-text-08-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-tref-01-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-tselect-01-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-tselect-02-f-expected.txt: Added.
* platform/ios-simulator/svg/text/text-tspan-01-b-expected.txt: Added.
* platform/ios-simulator/svg/text/text-viewbox-rescale-expected.txt: Added.
* platform/ios-simulator/svg/text/text-vkern-expected.txt: Added.
* platform/ios-simulator/svg/text/text-ws-01-t-expected.txt: Added.
* platform/ios-simulator/svg/text/text-ws-02-t-expected.txt: Added.
* platform/ios-simulator/svg/text/tspan-dynamic-positioning-expected.txt: Added.

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

3 years agojs/regress/polymorphic-put-by-id.html does not exist.
simon.fraser@apple.com [Fri, 26 Aug 2016 00:57:07 +0000 (00:57 +0000)]
js/regress/polymorphic-put-by-id.html does not exist.

* platform/ios-simulator-wk2/TestExpectations:

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

3 years agoUnreviewed, rebase iOS simulator WK1 imported/mozilla tests
jiewen_tan@apple.com [Fri, 26 Aug 2016 00:49:34 +0000 (00:49 +0000)]
Unreviewed, rebase iOS simulator WK1 imported/mozilla tests

* platform/ios-simulator-wk1/TestExpectations:

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

3 years agoCMake build fix.
achristensen@apple.com [Fri, 26 Aug 2016 00:28:13 +0000 (00:28 +0000)]
CMake build fix.

Source/JavaScriptCore:

* ForwardingHeaders/JavaScriptCore/JSObjectRefPrivate.h: Added.
This is needed for the internal Windows build.

Source/WebKit:

* PlatformMac.cmake:
Availability was spelled wrong, resulting in a missing header.

Tools:

* DumpRenderTree/PlatformMac.cmake:

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

3 years agoUnreviewed, rebase iOS simulator WK1 imported/blink tests
jiewen_tan@apple.com [Fri, 26 Aug 2016 00:14:37 +0000 (00:14 +0000)]
Unreviewed, rebase iOS simulator WK1 imported/blink tests

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk1/imported/blink/fast/shapes/shape-outside-floats/shape-outside-negative-height-crash-width-expected.txt: Added.

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

3 years agoReplace all IPC message send flags with OptionSet
andersca@apple.com [Thu, 25 Aug 2016 23:09:28 +0000 (23:09 +0000)]
Replace all IPC message send flags with OptionSet
https://bugs.webkit.org/show_bug.cgi?id=161211

Reviewed by Tim Horton.

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didFailLoading):
(WebKit::NetworkResourceLoader::sendAbortingOnFailure):
* NetworkProcess/NetworkResourceLoader.h:
* Platform/IPC/Connection.cpp:
(IPC::WaitForMessageState::WaitForMessageState):
(IPC::Connection::sendMessage):
(IPC::Connection::sendSyncReply):
(IPC::Connection::waitForMessage):
(IPC::Connection::sendSyncMessage):
(IPC::Connection::sendSyncMessageFromSecondaryThread):
(IPC::Connection::waitForSyncReply):
(IPC::Connection::processIncomingMessage):
* Platform/IPC/Connection.h:
(IPC::Connection::send):
(IPC::Connection::sendSync):
(IPC::Connection::waitForAndDispatchImmediately):
* Platform/IPC/MessageSender.cpp:
(IPC::MessageSender::sendMessage):
* Platform/IPC/MessageSender.h:
(IPC::MessageSender::send):
(IPC::MessageSender::sendSync):
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::open):
(IPC::Connection::willSendSyncMessage):
(IPC::Connection::didReceiveSyncReply):
* PluginProcess/mac/PluginControllerProxyMac.mm:
(WebKit::PluginControllerProxy::setComplexTextInputState):
* UIProcess/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
* UIProcess/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
(WebKit::ChildProcessProxy::sendSync):
* UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::getPluginProcessConnection):
* UIProcess/WebEditCommandProxy.cpp:
(WebKit::WebEditCommandProxy::unapply):
(WebKit::WebEditCommandProxy::reapply):
* UIProcess/WebPageProxy.cpp:
(WebKit::printingSendOptions):
(WebKit::WebPageProxy::preferencesDidChange):
(WebKit::WebPageProxy::sendMessage):
(WebKit::WebPageProxy::beginPrinting):
(WebKit::WebPageProxy::endPrinting):
(WebKit::WebPageProxy::computePagesForPrinting):
(WebKit::WebPageProxy::drawRectToImage):
(WebKit::WebPageProxy::drawPagesToPDF):
(WebKit::WebPageProxy::drawPagesForPrinting):
(WebKit::WebPageProxy::setMinimumLayoutSize): Deleted.
(WebKit::WebPageProxy::setAutoSizingShouldExpandToViewHeight): Deleted.
(WebKit::WebPageProxy::handleAlternativeTextUIResult): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateViewState):
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::geometryDidChange):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
(WebKit::WebChromeClient::print):
(WebKit::WebChromeClient::exceededDatabaseQuota):
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createWithCoreMainFrame):
(WebKit::WebFrame::createSubframe):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::sendPostLayoutEditorStateIfNeeded):
(WebKit::WebPage::postSynchronousMessageForTesting):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::flush):

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

3 years ago[JSC] Clean up the abstract interpreter for cos/sin/sqrt/fround/log
commit-queue@webkit.org [Thu, 25 Aug 2016 23:02:52 +0000 (23:02 +0000)]
[JSC] Clean up the abstract interpreter for cos/sin/sqrt/fround/log
https://bugs.webkit.org/show_bug.cgi?id=161181

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-08-25
Reviewed by Geoffrey Garen.

JSTests:

Extend the tests to constants.
Add no-argument cases where needed.

* stress/arith-cos-on-various-types.js:
* stress/arith-fround-on-various-types.js:
* stress/arith-log-on-various-types.js:
* stress/arith-sin-on-various-types.js:
* stress/arith-sqrt-on-various-types.js:

Source/JavaScriptCore:

All the nodes are doing the exact same thing with a single
difference: how to process constants. I made that into a separate
function called from each node.

I also generalized the constant-to-number code of DoubleRep
to make it available for all those nodes.

* dfg/DFGAbstractInterpreter.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeDoubleUnaryOpEffects):
* runtime/JSCJSValue.cpp:
(JSC::JSValue::toNumberFromPrimitive):
* runtime/JSCJSValue.h:

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

3 years ago[DFG][FTL] Implement ES6 Generators in DFG / FTL
utatane.tea@gmail.com [Thu, 25 Aug 2016 22:55:10 +0000 (22:55 +0000)]
[DFG][FTL] Implement ES6 Generators in DFG / FTL
https://bugs.webkit.org/show_bug.cgi?id=152723

Reviewed by Filip Pizlo.

JSTests:

* stress/generator-fib-ftl-and-array.js: Added.
(fib):
* stress/generator-fib-ftl-and-object.js: Added.
(fib):
* stress/generator-fib-ftl-and-string.js: Added.
(fib):
* stress/generator-fib-ftl.js: Added.
(fib):
* stress/generator-frame-empty.js: Added.
(shouldThrow):
(shouldThrow.fib):
* stress/generator-reduced-save-point-put-to-scope.js: Added.
(shouldBe):
(gen):
* stress/generator-transfer-register-beyond-mutiple-yields.js: Added.
(shouldBe):
(gen):

Source/JavaScriptCore:

This patch introduces DFG and FTL support for ES6 generators.
ES6 generator is compiled by the BytecodeGenerator. But at the last phase, BytecodeGenerator performs "generatorification" onto the unlinked code.
In BytecodeGenerator phase, we just emit op_yield for each yield point. And we don't emit any generator related switch, save, and resume sequences
here. Those are emitted by the generatorification phase.

So the graph is super simple! Before the generatorification, the graph looks like this.

     op_enter -> ...... -> op_yield -> ..... -> op_yield -> ...

Roughly speaking, in the generatorification phase, we turn out which variables should be saved and resumed at each op_yield.
This is done by liveness analysis. After that, we convert op_yield to the sequence of "op_put_to_scope", "op_ret", and "op_get_from_scope".
op_put_to_scope and op_get_from_scope sequences are corresponding to the save and resume sequences. We set up the scope for the generator frame and
perform op_put_to_scope and op_get_from_scope onto it. The live registers are saved and resumed over the generator's next() calls by using this
special generator frame scope. And we also set up the global switch for the generator.

In the generatorification phase,

1. We construct the BytecodeGraph from the unlinked instructions. This constructs the basic blocks, and it is used in the subsequent analysis.
2. We perform the analysis onto the unlinked code. We extract the live variables at each op_yield.
3. We insert the get_from_scope and put_to_scope at each op_yield. Which registers should be saved and resumed is offered by (2).
   Then, clip the op_yield themselves. And we also insert the switch_imm. The jump targets of this switch are just after this op_switch_imm and each op_yield point.

One interesting point is the try-range. We split the try-range at the op_yield point in BytecodeGenerator phase.
This drops the hacky thing that is introduced in [1].
If the try-range covers the resume sequences, the exception handler's use-registers are incorrectly transferred to the entry block.
For example,

    handler uses r2
                                                     try-range
    label:(entry block can jump here)                 ^
        r1 = get_from_scope # resume sequence starts  | use r2 is transferred to the entry block!
        r2 = get_from_scope                           |
        starts usual sequences                        |
        ...                                           |

Handler's r2 use should be considered at the `r1 = get_from_scope` point.
Previously, we handle this edge case by treating op_resume specially in the liveness analysis[1].
To drop this workaround, we split the try-range not to cover this resume sequence.

    handler uses r2
                                                     try-range
    label:(entry block can jump here)
        r1 = get_from_scope # resume sequence starts
        r2 = get_from_scope
        starts usual sequences                        ^ try-range should start from here.
        ...                                           |

OK. Let's show the detailed example.

    1. First, there is the normal bytecode sequence. Here, | represents the offsets, and [] represents the bytecodes.

        bytecodes   | [ ] | [ ] | [ ] | [ ] | [ ] | [ ] |
        try-range   <----------------------------------->

    2. When we emit the op_yield in the bytecode generator, we carefully split the try-range.

        bytecodes   | [ ] | [ ] | [op_yield] | [ ] | [ ] | [ ] |
        try-range   <----------->            <----------------->

    3. And in the generatorification phase, we insert the switch's jump target and save & resume sequences. And we also drop op_yield.

                Insert save seq  Insert resume seq
                before op_yield. after op_yield's point.
                               v v
        bytecodes   | [ ] | [ ] | [op_yield] | [ ] | [ ] | [ ] |
        try-range   <----------->     ^      <----------------->
                                ^     |
                     Jump to here.    Drop this op_yield.

    4. The final layout is the following.

        bytecodes   | [ ] | [ ][save seq][op_ret] | [resume seq] | [ ] | [ ] | [ ] |
        try-range   <----------------------------->               <---------------->
                                                  ^
                                      Jump to here.

The rewriting done by the BytecodeRewriter is executed in a batch manner. Since these modification changes the basic blocks and size of unlinked instructions,
BytecodeRewriter also performs the offset adjustment for UnlinkedCodeBlock. So, this rewriting is performed onto the BytecodeGraph rather than BytecodeBasicBlock.
The reason why we take this design is simple: we don't want to newly create the basic blocks and opcodes for this early phase like DFG. Instead, we perform the
modification and adjustment to the unlinked instructions and UnlinkedCodeBlock in a in-place manner.

Bytecode rewriting functionality is offered by BytecodeRewriter. BytecodeRewriter allows us to insert any bytecodes to any places
in a in-place manner. BytecodeRewriter handles the original bytecode offsets as labels. And you can insert bytecodes before and after
these labels. You can also insert any jumps to any places. When you insert jumps, you need to specify jump target with this labels.
These labels (original bytecode offsets) are automatically converted to the appropriate offsets by BytecodeRewriter.

After that phase, the data flow of the generator-saved-and-resumed-registers are explicitly represented by the get_from_scope and put_to_scope.
And the switch is inserted to represent the actual control flow for the generator. And op_yield is removed. Since we use the existing bytecodes (op_switch_imm, op_put_to_scope
op_ret, and op_get_from_scope), DFG and FTL changes are not necessary. This patch also drops data structures and implementations for the old generator,
op_resume, op_save implementations and GeneratorFrame.

Note that this patch does not leverage the recent multi entrypoints support in B3. After this patch is introduced, we will submit a new patch that leverages the multi
entrypoints for generator's resume and sees the performance gain.

Microbenchmarks related to generators show up to 2.9x improvements.

                                                Baseline                  Patched

    generator-fib                          102.0116+-3.2880     ^     34.9670+-0.2221        ^ definitely 2.9174x faster
    generator-sunspider-access-nsieve        5.8596+-0.0371     ^      4.9051+-0.0720        ^ definitely 1.1946x faster
    generator-with-several-types           332.1478+-4.2425     ^    124.6642+-2.4826        ^ definitely 2.6643x faster

    <geometric>                             58.2998+-0.7758     ^     27.7425+-0.2577        ^ definitely 2.1015x faster

In ES6SampleBench's Basic, we can observe 41% improvement (Macbook Pro).

    Baseline:
        Geometric Mean Result: 133.55 ms +- 4.49 ms

        Benchmark    First Iteration        Worst 2%               Steady State
        Air          54.03 ms +- 7.51 ms    29.06 ms +- 3.13 ms    2276.59 ms +- 61.17 ms
        Basic        30.18 ms +- 1.86 ms    18.85 ms +- 0.45 ms    2851.16 ms +- 41.87 ms

    Patched:
        Geometric Mean Result: 121.78 ms +- 3.96 ms

        Benchmark    First Iteration        Worst 2%               Steady State
        Air          52.09 ms +- 6.89 ms    29.59 ms +- 3.16 ms    2239.90 ms +- 54.60 ms
        Basic        29.28 ms +- 1.46 ms    16.26 ms +- 0.66 ms    2025.15 ms +- 38.56 ms

[1]: https://bugs.webkit.org/show_bug.cgi?id=159281

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/GeneratorPrototype.js:
(globalPrivate.generatorResume):
* bytecode/BytecodeBasicBlock.cpp:
(JSC::BytecodeBasicBlock::shrinkToFit):
(JSC::BytecodeBasicBlock::computeImpl):
(JSC::BytecodeBasicBlock::compute):
(JSC::isBranch): Deleted.
(JSC::isUnconditionalBranch): Deleted.
(JSC::isTerminal): Deleted.
(JSC::isThrow): Deleted.
(JSC::linkBlocks): Deleted.
(JSC::computeBytecodeBasicBlocks): Deleted.
* bytecode/BytecodeBasicBlock.h:
(JSC::BytecodeBasicBlock::isEntryBlock):
(JSC::BytecodeBasicBlock::isExitBlock):
(JSC::BytecodeBasicBlock::leaderOffset):
(JSC::BytecodeBasicBlock::totalLength):
(JSC::BytecodeBasicBlock::offsets):
(JSC::BytecodeBasicBlock::successors):
(JSC::BytecodeBasicBlock::index):
(JSC::BytecodeBasicBlock::addSuccessor):
(JSC::BytecodeBasicBlock::BytecodeBasicBlock):
(JSC::BytecodeBasicBlock::addLength):
(JSC::BytecodeBasicBlock::leaderBytecodeOffset): Deleted.
(JSC::BytecodeBasicBlock::totalBytecodeLength): Deleted.
(JSC::BytecodeBasicBlock::bytecodeOffsets): Deleted.
(JSC::BytecodeBasicBlock::addBytecodeLength): Deleted.
* bytecode/BytecodeGeneratorification.cpp: Added.
(JSC::BytecodeGeneratorification::BytecodeGeneratorification):
(JSC::BytecodeGeneratorification::graph):
(JSC::BytecodeGeneratorification::yields):
(JSC::BytecodeGeneratorification::enterPoint):
(JSC::BytecodeGeneratorification::storageForGeneratorLocal):
(JSC::GeneratorLivenessAnalysis::GeneratorLivenessAnalysis):
(JSC::GeneratorLivenessAnalysis::computeDefsForBytecodeOffset):
(JSC::GeneratorLivenessAnalysis::computeUsesForBytecodeOffset):
(JSC::GeneratorLivenessAnalysis::run):
(JSC::BytecodeGeneratorification::run):
(JSC::performGeneratorification):
* bytecode/BytecodeGeneratorification.h: Copied from Source/JavaScriptCore/bytecode/BytecodeLivenessAnalysisInlines.h.
* bytecode/BytecodeGraph.h: Added.
(JSC::BytecodeGraph::codeBlock):
(JSC::BytecodeGraph::instructions):
(JSC::BytecodeGraph::basicBlocksInReverseOrder):
(JSC::BytecodeGraph::blockContainsBytecodeOffset):
(JSC::BytecodeGraph::findBasicBlockForBytecodeOffset):
(JSC::BytecodeGraph::findBasicBlockWithLeaderOffset):
(JSC::BytecodeGraph::size):
(JSC::BytecodeGraph::at):
(JSC::BytecodeGraph::operator[]):
(JSC::BytecodeGraph::begin):
(JSC::BytecodeGraph::end):
(JSC::BytecodeGraph::first):
(JSC::BytecodeGraph::last):
(JSC::BytecodeGraph<Block>::BytecodeGraph):
* bytecode/BytecodeList.json:
* bytecode/BytecodeLivenessAnalysis.cpp:
(JSC::BytecodeLivenessAnalysis::BytecodeLivenessAnalysis):
(JSC::BytecodeLivenessAnalysis::computeDefsForBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::computeUsesForBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::computeFullLiveness):
(JSC::BytecodeLivenessAnalysis::computeKills):
(JSC::BytecodeLivenessAnalysis::dumpResults):
(JSC::BytecodeLivenessAnalysis::compute):
(JSC::isValidRegisterForLiveness): Deleted.
(JSC::getLeaderOffsetForBasicBlock): Deleted.
(JSC::findBasicBlockWithLeaderOffset): Deleted.
(JSC::blockContainsBytecodeOffset): Deleted.
(JSC::findBasicBlockForBytecodeOffset): Deleted.
(JSC::stepOverInstruction): Deleted.
(JSC::computeLocalLivenessForBytecodeOffset): Deleted.
(JSC::computeLocalLivenessForBlock): Deleted.
(JSC::BytecodeLivenessAnalysis::runLivenessFixpoint): Deleted.
* bytecode/BytecodeLivenessAnalysis.h:
* bytecode/BytecodeLivenessAnalysisInlines.h:
(JSC::isValidRegisterForLiveness):
(JSC::BytecodeLivenessPropagation<DerivedAnalysis>::stepOverInstruction):
(JSC::BytecodeLivenessPropagation<DerivedAnalysis>::computeLocalLivenessForBytecodeOffset):
(JSC::BytecodeLivenessPropagation<DerivedAnalysis>::computeLocalLivenessForBlock):
(JSC::BytecodeLivenessPropagation<DerivedAnalysis>::getLivenessInfoAtBytecodeOffset):
(JSC::BytecodeLivenessPropagation<DerivedAnalysis>::runLivenessFixpoint):
* bytecode/BytecodeRewriter.cpp: Added.
(JSC::BytecodeRewriter::applyModification):
(JSC::BytecodeRewriter::execute):
(JSC::BytecodeRewriter::adjustJumpTargetsInFragment):
(JSC::BytecodeRewriter::insertImpl):
(JSC::BytecodeRewriter::adjustJumpTarget):
* bytecode/BytecodeRewriter.h: Added.
(JSC::BytecodeRewriter::InsertionPoint::InsertionPoint):
(JSC::BytecodeRewriter::InsertionPoint::operator<):
(JSC::BytecodeRewriter::InsertionPoint::operator==):
(JSC::BytecodeRewriter::Insertion::length):
(JSC::BytecodeRewriter::Fragment::Fragment):
(JSC::BytecodeRewriter::Fragment::appendInstruction):
(JSC::BytecodeRewriter::BytecodeRewriter):
(JSC::BytecodeRewriter::insertFragmentBefore):
(JSC::BytecodeRewriter::insertFragmentAfter):
(JSC::BytecodeRewriter::removeBytecode):
(JSC::BytecodeRewriter::graph):
(JSC::BytecodeRewriter::adjustAbsoluteOffset):
(JSC::BytecodeRewriter::adjustJumpTarget):
(JSC::BytecodeRewriter::calculateDifference):
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::handlerForIndex):
(JSC::CodeBlock::shrinkToFit):
(JSC::CodeBlock::valueProfileForBytecodeOffset):
(JSC::CodeBlock::livenessAnalysisSlow):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::isConstantRegisterIndex):
(JSC::CodeBlock::livenessAnalysis):
(JSC::CodeBlock::liveCalleeLocalsAtYield): Deleted.
* bytecode/HandlerInfo.h:
(JSC::HandlerInfoBase::handlerForIndex):
* bytecode/Opcode.h:
(JSC::isBranch):
(JSC::isUnconditionalBranch):
(JSC::isTerminal):
(JSC::isThrow):
* bytecode/PreciseJumpTargets.cpp:
(JSC::getJumpTargetsForBytecodeOffset):
(JSC::computePreciseJumpTargetsInternal):
(JSC::computePreciseJumpTargets):
(JSC::recomputePreciseJumpTargets):
(JSC::findJumpTargetsForBytecodeOffset):
* bytecode/PreciseJumpTargets.h:
* bytecode/PreciseJumpTargetsInlines.h: Added.
(JSC::extractStoredJumpTargetsForBytecodeOffset):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::handlerForBytecodeOffset):
(JSC::UnlinkedCodeBlock::handlerForIndex):
(JSC::UnlinkedCodeBlock::applyModification):
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedStringJumpTable::offsetForValue):
(JSC::UnlinkedCodeBlock::numCalleeLocals):
* bytecode/VirtualRegister.h:
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitComplexPopScopes):
(JSC::prepareJumpTableForStringSwitch):
(JSC::BytecodeGenerator::emitYieldPoint):
(JSC::BytecodeGenerator::emitSave): Deleted.
(JSC::BytecodeGenerator::emitResume): Deleted.
(JSC::BytecodeGenerator::emitGeneratorStateLabel): Deleted.
(JSC::BytecodeGenerator::beginGenerator): Deleted.
(JSC::BytecodeGenerator::endGenerator): Deleted.
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::generatorStateRegister):
(JSC::BytecodeGenerator::generatorValueRegister):
(JSC::BytecodeGenerator::generatorResumeModeRegister):
(JSC::BytecodeGenerator::generatorFrameRegister):
* bytecompiler/NodesCodegen.cpp:
(JSC::FunctionNode::emitBytecode):
* dfg/DFGOperations.cpp:
* interpreter/Interpreter.cpp:
(JSC::findExceptionHandler):
(JSC::GetCatchHandlerFunctor::operator()):
(JSC::UnwindFunctor::operator()):
* interpreter/Interpreter.h:
* interpreter/InterpreterInlines.h: Copied from Source/JavaScriptCore/bytecode/PreciseJumpTargets.h.
(JSC::Interpreter::getOpcodeID):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_save): Deleted.
(JSC::JIT::emit_op_resume): Deleted.
* llint/LowLevelInterpreter.asm:
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseGeneratorFunctionSourceElements):
(JSC::Parser<LexerType>::createGeneratorParameters):
* parser/Parser.h:
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL): Deleted.
* runtime/CommonSlowPaths.h:
* runtime/GeneratorFrame.cpp: Removed.
(JSC::GeneratorFrame::GeneratorFrame): Deleted.
(JSC::GeneratorFrame::finishCreation): Deleted.
(JSC::GeneratorFrame::createStructure): Deleted.
(JSC::GeneratorFrame::create): Deleted.
(JSC::GeneratorFrame::save): Deleted.
(JSC::GeneratorFrame::resume): Deleted.
(JSC::GeneratorFrame::visitChildren): Deleted.
* runtime/GeneratorFrame.h: Removed.
(JSC::GeneratorFrame::locals): Deleted.
(JSC::GeneratorFrame::localAt): Deleted.
(JSC::GeneratorFrame::offsetOfLocals): Deleted.
(JSC::GeneratorFrame::allocationSizeForLocals): Deleted.
* runtime/JSGeneratorFunction.h:
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:

Source/WTF:

* wtf/FastBitVector.h:
(WTF::FastBitVector::FastBitVector):

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

3 years agoUnreviewed, rebase iOS simulator WK1 fast tests
jiewen_tan@apple.com [Thu, 25 Aug 2016 22:27:02 +0000 (22:27 +0000)]
Unreviewed, rebase iOS simulator WK1 fast tests

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk1/fast/attachment/attachment-select-on-click-expected.txt: Added.
* platform/ios-simulator-wk1/fast/block/float/overhanging-tall-block-expected.txt: Added.
* platform/ios-simulator-wk1/fast/clip/014-expected.txt: Added.
* platform/ios-simulator-wk1/fast/encoding/utf-16-big-endian-expected.txt:
* platform/ios-simulator-wk1/fast/encoding/utf-16-little-endian-expected.txt:
* platform/ios-simulator-wk1/fast/events/ghostly-mousemoves-in-subframe-expected.txt: Added.
* platform/ios-simulator-wk1/fast/forms/form-element-geometry-expected.txt:
* platform/ios-simulator-wk1/fast/replaced/width100percent-textarea-expected.txt: Added.
* platform/ios-simulator-wk1/fast/shadow-dom/trusted-event-scoped-flags-expected.txt: Added.

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

3 years agoTryGetById should have a ValueProfile so that it can predict its output type
commit-queue@webkit.org [Thu, 25 Aug 2016 22:11:59 +0000 (22:11 +0000)]
TryGetById should have a ValueProfile so that it can predict its output type
https://bugs.webkit.org/show_bug.cgi?id=160921

Patch by JF Bastien <jfbastien@apple.com> on 2016-08-25
Reviewed by Saam Barati.

JSTests:

* microbenchmarks/try-get-by-id-basic.js: Added.
(const.check):
(const.bench.f.const.fooPlusBar.createBuiltin):
* microbenchmarks/try-get-by-id-polymorphic.js: Added.
(const.check):
(fooPlusBar.createBuiltin):
(bench):

Source/JavaScriptCore:

Add a ValueProfile to TryGetById, and make sure DFG picks it up.

A microbenchmark for perfectly predicted computation shows a 20%
runtime reduction with no hit if the prediction goes polymorphic.

* bytecode/BytecodeList.json:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finishCreation):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitTryGetById):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_try_get_by_id):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_try_get_by_id):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter.asm:

Source/WTF:

Add WTF_CONCAT to StdLibExtras.h

* wtf/StdLibExtras.h:

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

3 years agoWK1 Sierra: LayoutTests fast/html/marquee-scroll.html and fast/inline-block/003.html...
simon.fraser@apple.com [Thu, 25 Aug 2016 22:11:25 +0000 (22:11 +0000)]
WK1 Sierra: LayoutTests fast/html/marquee-scroll.html and fast/inline-block/003.html failing
rdar://problem/28017216

This test is sensitive to how WK1 does layouts as a result of updateScrollbars(),
giving different results in WK1 and WK1. Land Sierra results, and mark the test
as failing on earlier OS versions.

* platform/mac-wk1/TestExpectations:
* platform/mac-wk1/fast/inline-block/003-expected.txt: Added.

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

3 years agoFix URLParserTest with GuardMalloc
achristensen@apple.com [Thu, 25 Aug 2016 22:02:08 +0000 (22:02 +0000)]
Fix URLParserTest with GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=161214
rdar://problem/28014390

Reviewed by Tim Horton.

The CString returned by String::utf8 was going out of scope before we were doing a string comparison on its data.
This just does the comparison of the CStrings instead to keep them in scope during the comparison.

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::eq):
(TestWebKitAPI::checkURL):
(TestWebKitAPI::checkURLDifferences):
(TestWebKitAPI::s): Deleted.

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

3 years agoDragging against the end of the inline media scrubber causes the media scrubber to...
wenson_hsieh@apple.com [Thu, 25 Aug 2016 22:01:07 +0000 (22:01 +0000)]
Dragging against the end of the inline media scrubber causes the media scrubber to hide
https://bugs.webkit.org/show_bug.cgi?id=161207

Reviewed by Eric Carlson.

Source/WebCore:

Previously, we would re-enable behavior restrictions when firing an ended event. However, if the ended event is
caused by the user seeking to the end of the video, the media controls would be taken away from under the user.
To prevent this, we don't add the relevant behavior restrictions upon media ended if media was seeking before
firing the event.

Tweaked an existing WebKit API test to cover this change.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
(WebCore::HTMLMediaElement::addBehaviorRestrictionsOnEndIfNecessary):
* html/HTMLMediaElement.h:
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canControlControlsManager):

Tools:

Tweaks an existing WebKit API test covering this behavior change. After some discussion, rather than hide media
controls in this case, we should actually continue showing them. This is because seeking due to user gestures
similar to "scrubbing" are indistinguishable from gestures that immediately seek to the end.

* TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):

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

3 years agoREGRESSION: RELEASE_ASSERT in ResourceUsageThread::platformThreadBody when ASan is...
akling@apple.com [Thu, 25 Aug 2016 21:57:13 +0000 (21:57 +0000)]
REGRESSION: RELEASE_ASSERT in ResourceUsageThread::platformThreadBody when ASan is enabled
<https://webkit.org/b/161203>
<rdar://problem/28011251>

Reviewed by Joseph Pecoraro.

* page/cocoa/ResourceUsageThreadCocoa.mm:
(WebCore::ResourceUsageThread::platformThreadBody): Remove overly optimistic assertions about
"GC owned" memory never being higher than total malloc memory usage. This accounting is not
really exact and pretending otherwise will just lead to crashes.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::externalMemoryCost): Hook up HTMLCanvasElement to the ImageBuffer
helper for reporting external memory cost. This makes accounting slightly more correct.

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

3 years agoRegression(r203623): Breaks App Store application
cdumez@apple.com [Thu, 25 Aug 2016 21:48:33 +0000 (21:48 +0000)]
Regression(r203623): Breaks App Store application
https://bugs.webkit.org/show_bug.cgi?id=161206
<rdar://problem/28015060>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add quirks for the App Store application so that we log an error message
when passing a Document node to Window.getComputedStyle() instead of
throwing an exception.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::getComputedStyle):
* page/DOMWindow.h:
* page/DOMWindow.idl:
* platform/RuntimeApplicationChecks.h:
* platform/RuntimeApplicationChecks.mm:
(WebCore::MacApplication::isAppStore):

LayoutTests:

Rebaseline existing test as the exception message is slightly different.

* fast/dom/Window/getComputedStyle-missing-parameter-expected.txt:
* fast/dom/Window/getComputedStyle-missing-parameter.html:

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

3 years agoRemove some more MessageRecorder gunk
andersca@apple.com [Thu, 25 Aug 2016 20:53:15 +0000 (20:53 +0000)]
Remove some more MessageRecorder gunk
https://bugs.webkit.org/show_bug.cgi?id=161209

Reviewed by Tim Horton.

* DatabaseProcess/DatabaseProcess.h:
* DatabaseProcess/DatabaseToWebProcessConnection.h:
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkProcess.h:
* Platform/IPC/Connection.h:
* Platform/IPC/ProcessType.h: Removed.
* PluginProcess/PluginProcess.h:
* PluginProcess/WebProcessConnection.h:
* UIProcess/Databases/DatabaseProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/WebProcessProxy.h:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Databases/WebToDatabaseProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Plugins/PluginProcessConnection.h:
* WebProcess/WebPage/WebInspector.h:
* WebProcess/WebPage/WebInspectorUI.h:
* WebProcess/WebProcess.h:

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

3 years agoUnreviewed, rebase iOS simulator WK1 fast/css tests
jiewen_tan@apple.com [Thu, 25 Aug 2016 19:20:28 +0000 (19:20 +0000)]
Unreviewed, rebase iOS simulator WK1 fast/css tests

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator-wk1/fast/css/layerZOrderCrash-expected.txt: Added.
* platform/ios-simulator-wk1/fast/css/viewport-units-dynamic-expected.txt: Added.
* platform/ios-simulator-wk1/fast/css/word-space-extra-expected.txt: Added.

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

3 years agoREGRESSION (r203378): [iOS] The PDF image is rendered stretched if a sub image of...
commit-queue@webkit.org [Thu, 25 Aug 2016 19:18:29 +0000 (19:18 +0000)]
REGRESSION (r203378): [iOS] The PDF image is rendered stretched if a sub image of it is cached first
https://bugs.webkit.org/show_bug.cgi?id=160617

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-08-25
Reviewed by Tim Horton.

Source/WebCore:

When caching only a sub-image of the PDF ensure the source rectangle starts
at the top-left of the cached sub-image rectangle. When drawing the cached
sub-image to the destination context ensure the destination rectangle is the
sub-image rectangle so no stretching or shrinking happens.

Test: fast/images/cached-clipped-pdf.html

* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setCachedPDFImageEnabled): Deleted.
* page/Settings.h:
(WebCore::Settings::isCachedPDFImageEnabled): Deleted.
* page/Settings.in:
Change the boolean setting CachedPDFImageEnabled to be enum property and
rename it PDFImageCachingPolicy. Allow the "PDFImageCachingBelowMemoryLimit"
option to be available on a;; platforms. The "PDFImageCachingClipBoundsOnly"
option is added for testing purpose. If forces recaching the PDF with each
draw and it sets the cached image rectangle to the clipping rectangle.

* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::setPdfImageCachingPolicy): Take an enum instead of boolean.
(WebCore::cachedImageRect):
(WebCore::PDFDocumentImage::decodedSizeChanged): Enable PDFImageCachingBelowMemoryLimit
on all platforms.
(WebCore::PDFDocumentImage::updateCachedImageIfNeeded): Fix the source rectangle
when caching a sub-image of the PDF.
(WebCore::PDFDocumentImage::draw): Fix the destination rectangle when drawing
a sub-image to the destination context.
(WebCore::PDFDocumentImage::setCachedPDFImageEnabled): Deleted.
* platform/graphics/cg/PDFDocumentImage.h:

* rendering/RenderImage.cpp:
(WebCore::RenderImage::paintIntoRect):

* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setPDFImageCachingPolicy):
(WebCore::InternalSettings::setCachedPDFImageEnabled): Deleted.
* testing/InternalSettings.h:
* testing/InternalSettings.idl:
Change the internal setting CachedPDFImageEnabled to PDFImageCachingPolicy.

LayoutTests:

* fast/images/cached-clipped-pdf-expected.html: Added.
* fast/images/cached-clipped-pdf.html: Added.
* fast/images/displaced-non-cached-pdf.html:

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

3 years agoSkipping imported/w3c/web-platform-tests/url/url-setters.html because it asserts.
ryanhaddad@apple.com [Thu, 25 Aug 2016 19:02:10 +0000 (19:02 +0000)]
Skipping imported/w3c/web-platform-tests/url/url-setters.html because it asserts.
https://bugs.webkit.org/show_bug.cgi?id=161191

Unreviewed test gardening.

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

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