WebKit-https.git
3 years agoUnify hasTouchScrollableOverflow/needsCompositedScrolling concepts
commit-queue@webkit.org [Thu, 11 May 2017 18:49:30 +0000 (18:49 +0000)]
Unify hasTouchScrollableOverflow/needsCompositedScrolling concepts
https://bugs.webkit.org/show_bug.cgi?id=171974

Patch by Frederic Wang <fwang@igalia.com> on 2017-05-11
Reviewed by Simon Fraser.

This commit moves the following pattern in a single RenderLayer::usesAcceleratedScrolling function:
#if PLATFORM(IOS)
...hasTouchScrollableOverflow()...
#else
...needsCompositedScrolling()...
#endif

No new tests, behavior unchanged.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::usesAcceleratedScrolling): Introduce helper function.
* rendering/RenderLayer.h: Declare the function.
* rendering/RenderLayerBacking.cpp:
(WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling): Use the new function.
(WebCore::RenderLayerBacking::updateConfiguration): Ditto.
* rendering/RenderLayerCompositor.cpp:
(WebCore::useCoordinatedScrollingForLayer): Ditto.

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

3 years agoMarked imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout...
jlewis3@apple.com [Thu, 11 May 2017 18:38:22 +0000 (18:38 +0000)]
Marked imported/w3c/web-platform-tests/html/webappapis/timers/negative-settimeout.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=170699

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

3 years ago[Readable Streams API] Implement ReadableStreamBYOBReader cancel()
commit-queue@webkit.org [Thu, 11 May 2017 18:32:25 +0000 (18:32 +0000)]
[Readable Streams API] Implement ReadableStreamBYOBReader cancel()
https://bugs.webkit.org/show_bug.cgi?id=171919

Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2017-05-11
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Updated expectations.

* web-platform-tests/streams/readable-byte-streams/general-expected.txt:
* web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:

Source/WebCore:

Implemented ReadableStreamBYOBReader cancel() method.

Added tests checking cancel().

* Modules/streams/ReadableStreamBYOBReader.js:
(cancel): Implemented.
* Modules/streams/ReadableStreamInternals.js:
(readableStreamError): Updated to support ReadableStreamBYOBReader case.

LayoutTests:

Added test cases to check cancel() behaviour.

* streams/readable-stream-byob-reader-expected.txt: Updated.
* streams/readable-stream-byob-reader.js: Updated.

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

3 years agoMarked media/media-controls-clone-crash.html as flaky.
jlewis3@apple.com [Thu, 11 May 2017 18:18:59 +0000 (18:18 +0000)]
Marked media/media-controls-clone-crash.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171978

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

3 years agoJSWeakCreate/Retain/Release should take a JSContextGroupRef and not a JSContextRef
fpizlo@apple.com [Thu, 11 May 2017 18:01:43 +0000 (18:01 +0000)]
JSWeakCreate/Retain/Release should take a JSContextGroupRef and not a JSContextRef
https://bugs.webkit.org/show_bug.cgi?id=171979

Reviewed by Mark Lam.

Functions that don't execute arbitrary JS but just need access to the VM should take a
JSContextGroupRef, not a JSContextRef.

* API/JSWeakPrivate.cpp:
(JSWeakCreate):
(JSWeakRetain):
(JSWeakRelease):
* API/JSWeakPrivate.h:
* API/tests/testapi.c:
(testMarkingConstraints):

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

3 years agoStop using PassRefPtr in WebGPU code
cdumez@apple.com [Thu, 11 May 2017 17:55:42 +0000 (17:55 +0000)]
Stop using PassRefPtr in WebGPU code
https://bugs.webkit.org/show_bug.cgi?id=171965

Reviewed by Alex Christensen.

Stop using PassRefPtr in WebGPU code.

* html/canvas/WebGPUDrawable.cpp:
(WebCore::WebGPUDrawable::WebGPUDrawable):
* html/canvas/WebGPURenderingContext.cpp:
(WebCore::WebGPURenderingContext::create):
(WebCore::WebGPURenderingContext::WebGPURenderingContext):
* html/canvas/WebGPURenderingContext.h:
* html/canvas/WebGPUTexture.cpp:
(WebCore::WebGPUTexture::createFromDrawableTexture):
(WebCore::WebGPUTexture::WebGPUTexture):
* html/canvas/WebGPUTexture.h:

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

3 years agoName WebRTC Threads
commit-queue@webkit.org [Thu, 11 May 2017 17:31:56 +0000 (17:31 +0000)]
Name WebRTC Threads
https://bugs.webkit.org/show_bug.cgi?id=171975

Patch by Youenn Fablet <youenn@apple.com> on 2017-05-11
Reviewed by Eric Carlson.

No change of behavior.

* platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:
(WebCore::LibWebRTCAudioModule::LibWebRTCAudioModule): Setting audio module thread name.
* platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
(WebCore::initializePeerConnectionFactoryAndThreads): Setting signaling and networking thread names.

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

3 years agoWeb Inspector: Error trying to delete DOM breakpoints from the Debugger tab
mattbaker@apple.com [Thu, 11 May 2017 17:14:34 +0000 (17:14 +0000)]
Web Inspector: Error trying to delete DOM breakpoints from the Debugger tab
https://bugs.webkit.org/show_bug.cgi?id=171970
<rdar://problem/32129262>

Reviewed by Brian Burg.

Source/WebInspectorUI:

In the Debugger sidebar, DOM breakpoints can be cleared from a DOM node
in two ways: by using the DOM node tree element's context menu, or by
pressing the delete key while the element is selected. Each method used
a different code path, and the latter had an error which caused it to fail.

Add a `removeDOMBreakpointsForNode` method to DOMDebuggerManager to make
the operation convenient, and call it from both event handlers.

* UserInterface/Controllers/DOMBreakpointTreeController.js:
(WebInspector.DOMBreakpointTreeController.appendBreakpointContextMenuItems):
Use convenience method.

* UserInterface/Controllers/DOMDebuggerManager.js:
(WebInspector.DOMDebuggerManager.prototype.removeDOMBreakpointsForNode):
Helper function for removing all of a node's breakpoints.

* UserInterface/Views/DOMNodeTreeElement.js:
(WebInspector.DOMNodeTreeElement.prototype.ondelete):
Use convenience method.

LayoutTests:

Add test for DOMDebuggerManager.prototype.removeDOMBreakpointsForNode.

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

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

3 years agoLayoutTest http/tests/media/track-in-band-hls-metadata-crash.html is a flaky timeout
pvollan@apple.com [Thu, 11 May 2017 16:31:51 +0000 (16:31 +0000)]
LayoutTest http/tests/media/track-in-band-hls-metadata-crash.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167749

Reviewed by Eric Carlson.

Revert parts of r216588. The position of the 'canplaythrough' event in the event sequence
is not always the same, causing flakiness. Stop listening to the 'canplaythrough' event,
this was introduced in r216588.

* http/tests/media/track-in-band-hls-metadata-crash-expected.txt:
* http/tests/media/track-in-band-hls-metadata-crash.html:

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

3 years agoStop using PassRefPtr in platform/audio
cdumez@apple.com [Thu, 11 May 2017 16:29:57 +0000 (16:29 +0000)]
Stop using PassRefPtr in platform/audio
https://bugs.webkit.org/show_bug.cgi?id=171966

Reviewed by Ryosuke Niwa.

Stop using PassRefPtr in platform/audio.

* platform/audio/AudioBus.h:
(WebCore::AudioBus::AudioBus):
* platform/audio/AudioFileReader.h:
* platform/audio/HRTFDatabaseLoader.cpp:
(WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):
* platform/audio/HRTFDatabaseLoader.h:
* platform/audio/HRTFKernel.cpp:
(WebCore::HRTFKernel::createInterpolatedKernel):
* platform/audio/HRTFKernel.h:
(WebCore::HRTFKernel::create):
* platform/audio/glib/AudioBusGLib.cpp:
(WebCore::AudioBus::loadPlatformResource):
* platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
(WebCore::AudioFileReader::createBus):
(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):
* platform/audio/ios/AudioFileReaderIOS.cpp:
(WebCore::AudioFileReader::createBus):
(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):
* platform/audio/ios/AudioFileReaderIOS.h:
* platform/audio/mac/AudioBusMac.mm:
(WebCore::AudioBus::loadPlatformResource):
* platform/audio/mac/AudioFileReaderMac.cpp:
(WebCore::AudioFileReader::createBus):
(WebCore::createBusFromAudioFile):
(WebCore::createBusFromInMemoryAudioFile):
* platform/audio/mac/AudioFileReaderMac.h:

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

3 years agoAdd WPE release bots
clopez@igalia.com [Thu, 11 May 2017 16:29:48 +0000 (16:29 +0000)]
Add WPE release bots
https://bugs.webkit.org/show_bug.cgi?id=171973

Reviewed by Žan Doberšek.

This adds a WPE Release Build bot (64-bit) and a WPE Release Test bot.
It also adds a new WPE buildbot category.

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(InstallWpeDependencies):
(appendCustomBuildFlags):
(Factory.__init__):
(loadBuilderConfig):
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
* BuildSlaveSupport/build.webkit.org-config/templates/root.html:

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

3 years agoWorkerThread::stop() should call scheduleExecutionTermination() last.
mark.lam@apple.com [Thu, 11 May 2017 15:26:03 +0000 (15:26 +0000)]
WorkerThread::stop() should call scheduleExecutionTermination() last.
https://bugs.webkit.org/show_bug.cgi?id=171775
<rdar://problem/30975761>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Increased the number of frames captured in VM::nativeStackTraceOfLastThrow()
from 25 to 100.  From experience, I found that 25 is sometimes not sufficient
for our debugging needs.

Also added VM::throwingThread() to track which thread an exception was thrown in.
This may be useful if the client is entering the VM from different threads.

* runtime/ExceptionScope.cpp:
(JSC::ExceptionScope::unexpectedExceptionMessage):
(JSC::ExceptionScope::releaseAssertIsTerminatedExecutionException):
* runtime/ExceptionScope.h:
(JSC::ExceptionScope::exception):
(JSC::ExceptionScope::unexpectedExceptionMessage):
* runtime/VM.cpp:
(JSC::VM::throwException):
* runtime/VM.h:
(JSC::VM::throwingThread):
(JSC::VM::clearException):

Source/WebCore:

Currently, WorkerThread::stop() calls scheduleExecutionTermination() to terminate
JS execution first, followed by posting a cleanup task to the worker, and lastly,
it invokes terminate() on the WorkerRunLoop.

As a result, before run loop is terminate, the worker thread may observe the
TerminatedExecutionException in JS code, bail out, see another JS task to run,
re-enters the VM to run said JS code, and fails with an assertion due to the
TerminatedExecutionException still being pending on VM entry.

WorkerRunLoop::Task::performTask() already has a check to only allow a task to
run if and only if !runLoop.terminated() and the task is not a clean up task.
We'll fix the above race by ensuring that having WorkerThread::stop() terminate
the run loop before it scheduleExecutionTermination() which throws the
TerminatedExecutionException.  This way, by the time JS code unwinds out of the
VM due to the TerminatedExecutionException, runLoop.terminated() is guaranteed
to be true and thereby prevents re-entry into the VM.

This issue is covered by an existing test that I just unskipped in TestExpectations.

* bindings/js/JSDOMPromiseDeferred.cpp:
(WebCore::DeferredPromise::callFunction):
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::stop):

LayoutTests:

* TestExpectations:

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

3 years agoUnreviewed GTK+ gardening. Update expectations of tests failing after r216450.
carlosgc@webkit.org [Thu, 11 May 2017 13:33:05 +0000 (13:33 +0000)]
Unreviewed GTK+ gardening. Update expectations of tests failing after r216450.

* platform/gtk/TestExpectations:

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

3 years ago[GTK] Remove notifications guards from GTK API layer
csaavedra@igalia.com [Thu, 11 May 2017 12:54:25 +0000 (12:54 +0000)]
[GTK] Remove notifications guards from GTK API layer
https://bugs.webkit.org/show_bug.cgi?id=170014

Reviewed by Michael Catanzaro.

ENABLE_NOTIFICATIONS in the GTK port is a private option and
disabling it is unsupported, hence remove its guards from the GTK API
layer.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed):

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

3 years agoUnreviewed. Update OptionsGTK.cmake and NEWS for 2.17.2 release.
carlosgc@webkit.org [Thu, 11 May 2017 08:34:08 +0000 (08:34 +0000)]
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.17.2 release.

.:

* Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

* gtk/NEWS: Add release notes for 2.17.2.

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

3 years agoWebAssembly: stop supporting 0xD
jfbastien@apple.com [Thu, 11 May 2017 07:56:34 +0000 (07:56 +0000)]
WebAssembly: stop supporting 0xD
https://bugs.webkit.org/show_bug.cgi?id=168788
<rdar://problem/31880922>

Reviewed by Saam Barati.

JSTests:

Test that only version 1 is supported.

* wasm/js-api/version.js: Added.

Source/JavaScriptCore:

Only version 1 is supported by other browsers, and there shouldn't
be any 0xD binaries in the wild anymore.

* wasm/WasmModuleParser.cpp:

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

3 years ago[GTK] Web Inspector: Add new GTK+ icons for resources in large sizes (32px @ 1x/2x)
commit-queue@webkit.org [Thu, 11 May 2017 07:56:16 +0000 (07:56 +0000)]
[GTK] Web Inspector: Add new GTK+ icons for resources in large sizes (32px @ 1x/2x)
https://bugs.webkit.org/show_bug.cgi?id=155802
<rdar://problem/25320686>

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-05-11
Reviewed by Carlos Garcia Campos.

Add more free icons for the Web Inspector in GTK+.

* UserInterface/Images/gtk/ClippingCSSLarge.png: Added.
* UserInterface/Images/gtk/ClippingCSSLarge@2x.png: Added.
* UserInterface/Images/gtk/ClippingGenericLarge.png: Added.
* UserInterface/Images/gtk/ClippingGenericLarge@2x.png: Added.
* UserInterface/Images/gtk/ClippingJSLarge.png: Added.
* UserInterface/Images/gtk/ClippingJSLarge@2x.png: Added.
* UserInterface/Images/gtk/DocumentCSSLarge.png: Added.
* UserInterface/Images/gtk/DocumentCSSLarge@2x.png: Added.
* UserInterface/Images/gtk/DocumentFontLarge.png: Added.
* UserInterface/Images/gtk/DocumentFontLarge@2x.png: Added.
* UserInterface/Images/gtk/DocumentGenericLarge.png: Added.
* UserInterface/Images/gtk/DocumentGenericLarge@2x.png: Added.
* UserInterface/Images/gtk/DocumentImageLarge.png: Added.
* UserInterface/Images/gtk/DocumentImageLarge@2x.png: Added.
* UserInterface/Images/gtk/DocumentJSLarge.png: Added.
* UserInterface/Images/gtk/DocumentJSLarge@2x.png: Added.
* UserInterface/Images/gtk/DocumentMarkupLarge.png: Added.
* UserInterface/Images/gtk/DocumentMarkupLarge@2x.png: Added.

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

3 years ago[GTK] JavaScript prompt uses title of page to be loaded rather than title of current...
csaavedra@igalia.com [Thu, 11 May 2017 07:55:22 +0000 (07:55 +0000)]
[GTK] JavaScript prompt uses title of page to be loaded rather than title of current page
https://bugs.webkit.org/show_bug.cgi?id=152690

Reviewed by Michael Catanzaro.

webkit_web_view_get_uri() returns the page to be loaded, use
internal api for this.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewCreateJavaScriptDialog):

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

3 years agoDrop custom bindings code for HTMLFormControlsCollection's named property getter
cdumez@apple.com [Thu, 11 May 2017 07:35:35 +0000 (07:35 +0000)]
Drop custom bindings code for HTMLFormControlsCollection's named property getter
https://bugs.webkit.org/show_bug.cgi?id=171964

Reviewed by Sam Weinig.

Drop custom bindings code for HTMLFormControlsCollection's named property getter as
we are able to generate it.

No new tests, no expected Web-facing behavior change.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSHTMLFormControlsCollectionCustom.cpp: Removed.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateNamedGetter):
* html/HTMLFormControlsCollection.cpp:
(WebCore::HTMLFormControlsCollection::namedItemOrItems):
* html/HTMLFormControlsCollection.h:
* html/HTMLFormControlsCollection.idl:

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

3 years agoNull deref in WebPage::dictionaryPopupInfoForRange
timothy_horton@apple.com [Thu, 11 May 2017 04:53:15 +0000 (04:53 +0000)]
Null deref in WebPage::dictionaryPopupInfoForRange
https://bugs.webkit.org/show_bug.cgi?id=171959
<rdar://problem/20886282>

Reviewed by Beth Dakin.

* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
Speculative fix for non-reproducible crash when the startContainer of
the range is in an anonymous node.

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

3 years agoAnother build fix after r215633 to make the bar graphs render even when the confidenc...
rniwa@webkit.org [Thu, 11 May 2017 04:23:26 +0000 (04:23 +0000)]
Another build fix after r215633 to make the bar graphs render even when the confidence intervals aren't available.

* public/v3/components/bar-graph-group.js:
(BarGraphGroup.prototype._computeRange):

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

3 years ago[MediaStream] CoreAudioCaptureSource claims to never be muted
eric.carlson@apple.com [Thu, 11 May 2017 04:22:08 +0000 (04:22 +0000)]
[MediaStream] CoreAudioCaptureSource claims to never be muted
https://bugs.webkit.org/show_bug.cgi?id=171946
<rdar://problem/32111991>

Reviewed by Jer Noble.

* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::stopProducingData): Set m_muted to true.

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

3 years agoBuild fix after r215633.
rniwa@webkit.org [Thu, 11 May 2017 04:06:02 +0000 (04:06 +0000)]
Build fix after r215633.

* public/v3/models/test-group.js:
(TestGroup.prototype._computeRequestedCommitSets):
(TestGroup.prototype.requestsForCommitSet):

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

3 years agoAdd API to upload a patched build for a custom A/B testing
rniwa@webkit.org [Thu, 11 May 2017 02:32:00 +0000 (02:32 +0000)]
Add API to upload a patched build for a custom A/B testing
https://bugs.webkit.org/show_bug.cgi?id=171956

Reviewed by Chris Dumez.

Added /api/upload-root to upload a root file, the build product of a patch associated with a commit set.

Extracted more functions out of privileged-api/upload-file.php to uploaded-file-helpers.php to share code
with /api/upload-root.php.

* public/api/upload-root.php: Added.
(main):
(compute_commit_set_items_to_update): Find the list of commit set items to associate this root with.
A root can be associated with multiple repositories and there fore commit set items; e.g. if a software
is built from multiple repositories and there is a patch associated with one of them, the built product
must be associated with all those repositories.

* public/include/build-requests-fetcher.php:
(BuildRequestsFetcher::fetch_commits_for_set_if_needed): Include the root file is there is one.

* public/include/json-header.php:
(validate_arguments): Added the support for validating json string.
(verify_slave): Return the slave ID found.

* public/include/uploaded-file-helpers.php:
(validate_uploaded_file): Extracted from /privileged-api/upload-file to be shared with /api/upload-root.
(query_total_file_size): Ditto.
(create_uploaded_file_from_form_data): Ditto.
(upload_file_in_transaction): Ditto. Takes a lambda to do the extra work inside the transaction.

* public/privileged-api/upload-file.php:
(main):

* public/v3/models/build-request.js:
(BuildRequest.constructBuildRequestsFromData): Resolve the rootFIle of each commit set item.

* public/v3/models/commit-set.js:
(CommitSet): Added _repositoryToRootMap and _allRootFiles as instance variables.
(CommitSet.prototype.updateSingleton): Added. Previously, each commit set's states never changed after
its creation. After this patch, each item can be newly associated with a root so we must update its
_repositoryToRootMap and _allRootFiles. For simplicity, we update all states.
(CommitSet.prototype._updateFromObject): Extracted from the constructor.
(CommitSet.prototype.allRootFiles): Added. Includes custom roots and roots created for patches.
(CommitSet.prototype.rootForRepository): Added.
(CommitSet.prototype.equals): Fixed the bug that we were comparing _repositoryToPatchMap to
_repositoryToCommitMap, and added a check for _repositoryToRootMap.

* public/v3/models/test-group.js:
(TestGroup.prototype.task): Added.
(TestGroup.createWithTask):
(TestGroup.createWithCustomConfiguration):
(TestGroup.createAndRefetchTestGroups):
(TestGroup._fetchTestGroupsForTask): Deleted. Now fetchForTask takes a boolean argument: ignoreCache.
(TestGroup.findAllByTask): Added.
(TestGroup.fetchForTask): Renamed from fetchByTask.

* public/v3/pages/analysis-task-page.js:
(AnalysisTaskPage.prototype._fetchRelatedInfoForTaskId):

* server-tests/api-build-requests-tests.js:

* server-tests/api-upload-root-tests.js: Added. Added tests for /api/upload-root.
(makeReport): Added.
(addSlaveAndCreateRootFile): Added.
(createTestGroupWihPatch): Added.

* server-tests/privileged-api-create-test-group-tests.js:

* server-tests/resources/mock-data.js:
(MockData.sharedRepositoryId): Added.
(MockData.addMockData): Added "Shared" repository along with commits.

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

3 years agoRename server-tests/api-update-triggerable.js to server-tests/api-update-triggerable...
rniwa@webkit.org [Thu, 11 May 2017 02:26:29 +0000 (02:26 +0000)]
Rename server-tests/api-update-triggerable.js to server-tests/api-update-triggerable-tests.js
https://bugs.webkit.org/show_bug.cgi?id=171905

Reviewed by Chris Dumez.

* server-tests/api-update-triggerable-tests.js: Renamed from server-tests/api-update-triggerable.js.

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

3 years agoRELEASE_ASSERT at WebAudioSourceProviderAVFObjC::provideInput()
jer.noble@apple.com [Thu, 11 May 2017 01:51:36 +0000 (01:51 +0000)]
RELEASE_ASSERT at WebAudioSourceProviderAVFObjC::provideInput()
https://bugs.webkit.org/show_bug.cgi?id=171711

Reviewed by Youenn Fablet.

Before iterating over the channels in either the WebAudioBufferList or the AudioBus, ensure
we don't walk over the end of either by only iterating over the minimum length of either.
Also, when the internal format of WebAudioSourceProviderAVFObjC changes, notify the
MediaStreamAudioSourceNode that the number of channels and sample rate have changed.

* platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:
(WebCore::WebAudioSourceProviderAVFObjC::provideInput):
(WebCore::WebAudioSourceProviderAVFObjC::prepare):

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

3 years agoMarked fast/animation/request-animation-frame-time-unit.html as flaky.
jlewis3@apple.com [Thu, 11 May 2017 00:56:00 +0000 (00:56 +0000)]
Marked fast/animation/request-animation-frame-time-unit.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171957

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

3 years agoREGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798...
aestes@apple.com [Thu, 11 May 2017 00:33:33 +0000 (00:33 +0000)]
REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798.html
https://bugs.webkit.org/show_bug.cgi?id=132297

Reviewed by Simon Fraser.

Source/WebCore:

We don't know why m_renderView needs layout in this case, but we know that we don't need to
assert if the client hasn't set the ScrollableInnerFrameTrigger compositing trigger.

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):

LayoutTests:

* http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:
* http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt:
* http/tests/navigation/resources/keyboard-events-test.js:
(runTest):
* platform/ios-wk2/TestExpectations:
* platform/wk2/TestExpectations:

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

3 years agoUnreviewed, rolling out r216630.
ryanhaddad@apple.com [Thu, 11 May 2017 00:32:56 +0000 (00:32 +0000)]
Unreviewed, rolling out r216630.

This change caused assertion failures with webrtc LayoutTests.

Reverted changeset:

"RELEASE_ASSERT at
WebAudioSourceProviderAVFObjC::provideInput()"
https://bugs.webkit.org/show_bug.cgi?id=171711
http://trac.webkit.org/changeset/216630

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

3 years agoRemove support for legacy Notifications
weinig@apple.com [Thu, 11 May 2017 00:29:37 +0000 (00:29 +0000)]
Remove support for legacy Notifications
https://bugs.webkit.org/show_bug.cgi?id=171487

Reviewed by Jon Lee.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:
Remove definition of ENABLE_LEGACY_NOTIFICATIONS.

Source/WebCore:

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
Remove files.

* Configurations/FeatureDefines.xcconfig:
Remove definition of ENABLE_LEGACY_NOTIFICATIONS.

* DerivedSources.make:
Remove IDL files.

* Modules/notifications/DOMWindowNotifications.cpp: Removed.
* Modules/notifications/DOMWindowNotifications.h: Removed.
* Modules/notifications/DOMWindowNotifications.idl: Removed.
* Modules/notifications/NotificationCenter.cpp: Removed.
* Modules/notifications/NotificationCenter.h: Removed.
* Modules/notifications/NotificationCenter.idl: Removed.
* Modules/notifications/NotificationClient.h:
* Modules/notifications/NotificationController.cpp:
* Modules/notifications/NotificationController.h:
* Modules/notifications/WorkerGlobalScopeNotifications.cpp: Removed.
* Modules/notifications/WorkerGlobalScopeNotifications.h: Removed.
* Modules/notifications/WorkerGlobalScopeNotifications.idl: Removed.
* Modules/notifications/Notification.idl:
* Modules/notifications/Notification.cpp:
* Modules/notifications/Notification.h:
* dom/EventTargetFactory.in:
* page/DOMWindow.cpp:
* workers/WorkerThread.h:
Remove code legacy Notification code. Replace use of NotificationCenter with direct
calls to the NotificationClient.

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:
Remove definition of ENABLE_LEGACY_NOTIFICATIONS.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm:
* WebView/WebNotification.mm:
* WebView/WebNotificationInternal.h:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _notificationIDForTesting:]):
Remove legacy notification specific code.

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::WebChromeClient):
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
* WebCoreSupport/WebDesktopNotificationsDelegate.h:
Remove legacy notification specific code.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
* Shared/WebProcessCreationParameters.cpp:
* Shared/WebProcessCreationParameters.h:
* UIProcess/WebProcessPool.cpp:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
* WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
* WebProcess/Notifications/NotificationPermissionRequestManager.h:
* WebProcess/Notifications/WebNotificationManager.cpp:
* WebProcess/Notifications/WebNotificationManager.h:
* WebProcess/WebCoreSupport/WebNotificationClient.cpp:
* WebProcess/WebCoreSupport/WebNotificationClient.h:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebProcess.cpp:
Remove legacy notification specific code.

Source/WTF:

* wtf/FeatureDefines.h:
Remove definition of ENABLE_LEGACY_NOTIFICATIONS.

Tools:

* DumpRenderTree/win/DRTDesktopNotificationPresenter.cpp:
(DRTDesktopNotificationPresenter::checkNotificationPermission):
* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
Remove use and definition of ENABLE_LEGACY_NOTIFICATIONS.

LayoutTests:

- Remove fast/notifications/. It was skipped on all platforms and use legacy Notifications API.
- Remove http/notifications/legacy. It tested the legacy API.
- Update two tests in fast/history to use the non-legacy API to test page cache + notifications.
- Update TestExpectations for removals.

* TestExpectations:
* platform/gtk/TestExpectations:
* platform/ios/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:
* fast/history/page-cache-notification-non-suspendable.html:
* fast/history/page-cache-notification-suspendable.html:
* fast/notifications: Removed.
* fast/notifications/notification-after-close-expected.txt: Removed.
* fast/notifications/notification-after-close.html: Removed.
* fast/notifications/notification-permisssion-deletable-expected.txt: Removed.
* fast/notifications/notification-permisssion-deletable.html: Removed.
* fast/notifications/notifications-cancel-request-permission-expected.txt: Removed.
* fast/notifications/notifications-cancel-request-permission.html: Removed.
* fast/notifications/notifications-check-permission-expected.txt: Removed.
* fast/notifications/notifications-check-permission.html: Removed.
* fast/notifications/notifications-click-event-expected.txt: Removed.
* fast/notifications/notifications-click-event-focus-expected.txt: Removed.
* fast/notifications/notifications-click-event-focus.html: Removed.
* fast/notifications/notifications-click-event.html: Removed.
* fast/notifications/notifications-constructor-request-permission-expected.txt: Removed.
* fast/notifications/notifications-constructor-request-permission.html: Removed.
* fast/notifications/notifications-constructor-with-permission-expected.txt: Removed.
* fast/notifications/notifications-constructor-with-permission.html: Removed.
* fast/notifications/notifications-constructor-without-permission-expected.txt: Removed.
* fast/notifications/notifications-constructor-without-permission.html: Removed.
* fast/notifications/notifications-display-close-events-expected.txt: Removed.
* fast/notifications/notifications-display-close-events.html: Removed.
* fast/notifications/notifications-document-close-crash-expected.txt: Removed.
* fast/notifications/notifications-document-close-crash.html: Removed.
* fast/notifications/notifications-event-stop-propagation-expected.txt: Removed.
* fast/notifications/notifications-event-stop-propagation.html: Removed.
* fast/notifications/notifications-multi-events-expected.txt: Removed.
* fast/notifications/notifications-multi-events.html: Removed.
* fast/notifications/notifications-no-icon-expected.txt: Removed.
* fast/notifications/notifications-no-icon.html: Removed.
* fast/notifications/notifications-permission-expected.txt: Removed.
* fast/notifications/notifications-permission.html: Removed.
* fast/notifications/notifications-replace-expected.txt: Removed.
* fast/notifications/notifications-replace.html: Removed.
* fast/notifications/notifications-request-permission-expected.txt: Removed.
* fast/notifications/notifications-request-permission-optional-expected.txt: Removed.
* fast/notifications/notifications-request-permission-optional.html: Removed.
* fast/notifications/notifications-request-permission.html: Removed.
* fast/notifications/notifications-rtl-expected.txt: Removed.
* fast/notifications/notifications-rtl.html: Removed.
* fast/notifications/notifications-sandbox-permission-expected.txt: Removed.
* fast/notifications/notifications-sandbox-permission.html: Removed.
* fast/notifications/notifications-window-close-crash-expected.txt: Removed.
* fast/notifications/notifications-window-close-crash.html: Removed.
* fast/notifications/notifications-with-permission-expected.txt: Removed.
* fast/notifications/notifications-with-permission.html: Removed.
* fast/notifications/notifications-without-permission-expected.txt: Removed.
* fast/notifications/notifications-without-permission.html: Removed.
* fast/notifications/request-notification-permission-while-reloading-expected.txt: Removed.
* fast/notifications/request-notification-permission-while-reloading.html: Removed.
* fast/notifications/resources: Removed.
* fast/notifications/resources/notifications-cancel-request-permission.html: Removed.
* fast/notifications/resources/notifications-iframe.html: Removed.
* http/tests/notifications/legacy: Removed.
* http/tests/notifications/legacy/double-show-expected.txt: Removed.
* http/tests/notifications/legacy/double-show.html: Removed.
* http/tests/notifications/legacy/events-expected.txt: Removed.
* http/tests/notifications/legacy/events.html: Removed.
* http/tests/notifications/legacy/notification-request-permission-then-navigate-expected.txt: Removed.
* http/tests/notifications/legacy/notification-request-permission-then-navigate.html: Removed.
* http/tests/notifications/legacy/request-expected.txt: Removed.
* http/tests/notifications/legacy/request-no-callback-expected.txt: Removed.
* http/tests/notifications/legacy/request-no-callback.html: Removed.
* http/tests/notifications/legacy/request.html: Removed.
* http/tests/notifications/legacy/resources: Removed.
* http/tests/notifications/legacy/resources/notify-opener-done.html: Removed.
* http/tests/notifications/legacy/resources/request-permission-then-navigate.html: Removed.
* http/tests/notifications/legacy/show-expected.txt: Removed.
* http/tests/notifications/legacy/show.html: Removed.
* http/tests/notifications/legacy/window-show-on-click-expected.txt: Removed.
* http/tests/notifications/legacy/window-show-on-click.html: Removed.

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

3 years agoMark media/modern-media-controls/media-controller/media-controller-auto-hide-mouse...
ryanhaddad@apple.com [Thu, 11 May 2017 00:25:48 +0000 (00:25 +0000)]
Mark media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=169876

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

3 years agoMark inspector/protocol/inspector-backend-invocation-return-value.html as flaky.
ryanhaddad@apple.com [Thu, 11 May 2017 00:20:40 +0000 (00:20 +0000)]
Mark inspector/protocol/inspector-backend-invocation-return-value.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168146

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

3 years agoUnreviewed, rolling out r216635.
mark.lam@apple.com [Wed, 10 May 2017 23:48:33 +0000 (23:48 +0000)]
Unreviewed, rolling out r216635.
https://bugs.webkit.org/show_bug.cgi?id=171953

"Some worker tests are failing". (Requested by mlam on #webkit).

Reverted changeset:

"WorkerThread::stop() should call
scheduleExecutionTermination() last."
https://bugs.webkit.org/show_bug.cgi?id=171775
http://trac.webkit.org/changeset/216635

Patch by Commit Queue <commit-queue@webkit.org> on 2017-05-10

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

3 years agoCrash in JavaScriptCore GC when using JSC on dispatch queues (thread_get_state return...
mark.lam@apple.com [Wed, 10 May 2017 23:43:44 +0000 (23:43 +0000)]
Crash in JavaScriptCore GC when using JSC on dispatch queues (thread_get_state returns NULL stack pointer).
https://bugs.webkit.org/show_bug.cgi?id=160337
<rdar://problem/27611733>

Not reviewed.

Updated a comment per Geoff's suggestion.

* heap/MachineStackMarker.cpp:
(JSC::MachineThreads::tryCopyOtherThreadStack):

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

3 years agoWorkerThread::stop() should call scheduleExecutionTermination() last.
mark.lam@apple.com [Wed, 10 May 2017 23:22:33 +0000 (23:22 +0000)]
WorkerThread::stop() should call scheduleExecutionTermination() last.
https://bugs.webkit.org/show_bug.cgi?id=171775
<rdar://problem/30975761>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Increased the number of frames captured in VM::nativeStackTraceOfLastThrow()
from 25 to 100.  From experience, I found that 25 is sometimes not sufficient
for our debugging needs.

Also added VM::throwingThread() to track which thread an exception was thrown in.
This may be useful if the client is entering the VM from different threads.

* runtime/ExceptionScope.cpp:
(JSC::ExceptionScope::unexpectedExceptionMessage):
(JSC::ExceptionScope::releaseAssertIsTerminatedExecutionException):
* runtime/ExceptionScope.h:
(JSC::ExceptionScope::exception):
(JSC::ExceptionScope::unexpectedExceptionMessage):
* runtime/VM.cpp:
(JSC::VM::throwException):
* runtime/VM.h:
(JSC::VM::throwingThread):
(JSC::VM::clearException):

Source/WebCore:

Currently, WorkerThread::stop() calls scheduleExecutionTermination() to terminate
JS execution first, followed by posting a cleanup task to the worker, and lastly,
it invokes terminate() on the WorkerRunLoop.

As a result, before run loop is terminate, the worker thread may observe the
TerminatedExecutionException in JS code, bail out, see another JS task to run,
re-enters the VM to run said JS code, and fails with an assertion due to the
TerminatedExecutionException still being pending on VM entry.

WorkerRunLoop::Task::performTask() already has a check to only allow a task to
run if and only if !runLoop.terminated() and the task is not a clean up task.
We'll fix the above race by ensuring that having WorkerThread::stop() terminate
the run loop before it scheduleExecutionTermination() which throws the
TerminatedExecutionException.  This way, by the time JS code unwinds out of the
VM due to the TerminatedExecutionException, runLoop.terminated() is guaranteed
to be true and thereby prevents re-entry into the VM.

This issue is covered by an existing test that I just unskipped in TestExpectations.

* bindings/js/JSDOMPromiseDeferred.cpp:
(WebCore::DeferredPromise::callFunction):
* workers/WorkerThread.cpp:
(WebCore::WorkerThread::stop):

LayoutTests:

* TestExpectations:

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

3 years agoAdd an experimental feature flag for viewport-fit
timothy_horton@apple.com [Wed, 10 May 2017 23:05:09 +0000 (23:05 +0000)]
Add an experimental feature flag for viewport-fit
https://bugs.webkit.org/show_bug.cgi?id=171948
<rdar://problem/31995518>

Reviewed by Simon Fraser.

* Shared/WebPreferencesDefinitions.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Add an experimental feature flag.

* dom/ViewportArguments.cpp:
(WebCore::setViewportFeature):
* page/Settings.in:
Disable parsing of viewport-fit if the experimental feature is disabled.

* fast/css/variables/constants/ios/safe-area-inset-set-expected.html:
* fast/css/variables/constants/ios/safe-area-inset-set.html:
* fast/viewport/ios/viewport-fit-auto.html:
* fast/viewport/ios/viewport-fit-contain.html:
* fast/viewport/ios/viewport-fit-cover.html:

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

3 years agoMarked fast/hidpi/filters-and-image-buffer-resolution.html as flaky.
jlewis3@apple.com [Wed, 10 May 2017 22:57:28 +0000 (22:57 +0000)]
Marked fast/hidpi/filters-and-image-buffer-resolution.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171951

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

3 years agoSimplify relationship between Attr and Element now that Attr is childless
cdumez@apple.com [Wed, 10 May 2017 22:25:43 +0000 (22:25 +0000)]
Simplify relationship between Attr and Element now that Attr is childless
https://bugs.webkit.org/show_bug.cgi?id=171909

Reviewed by Ryosuke Niwa.

Source/WebCore:

Simplify relationship between Attr and Element now that Attr is childless
after r216259.

No new tests, no Web facing behavior change.

* dom/Attr.cpp:
(WebCore::Attr::setValue):
Attr::setValue() was only called by Element::setAttributeInternal() to make sure
we updated the Attr node's Text child. However, now that Attr has no Text child,
Element no longer needs to update the Attr node's value.
Attr::setValueForBindings() was thus renamed to setValue(). Its implementation
was also simplified by calling Element::setAttribute() on its ownerElement, if
it has one, instead of duplicating a bunch of code from Element::setAttributeInternal().

(WebCore::Attr::setNodeValue):
Call setValue() instead of setValueForBindings() now that it has been renamed.

* dom/Attr.h:
* dom/Attr.idl:
Rename valueForBindings / setValueForBindings to value / setValue.

* dom/Document.h:
Split shouldInvalidateNodeListAndCollectionCaches() into 2 methods, one taking an Attr name
and another that does not. There are now 2 calls sites instead of one, so we no longer need
to branch in this function.

* dom/Element.cpp:
(WebCore::Element::setAttributeInternal):
Drop code calling Attr::setValue() on the Attr node since Attr::setValue() was only
duplicating logic from Element::setAttributeInternal() after r216259. There is nothing
on Attr that needs updating when an element attribute gets updated.

(WebCore::Element::attributeChanged):
Call the new invalidateNodeListAndCollectionCachesInAncestorsForAttribute(). This
is the only call site that passes an attribute name.

* dom/Node.cpp:
(WebCore::Document::shouldInvalidateNodeListAndCollectionCaches):
(WebCore::Document::shouldInvalidateNodeListAndCollectionCachesForAttribute):
Split into 2 to avoid branching, as explained above.

(WebCore::Node::invalidateNodeListAndCollectionCachesInAncestors):
(WebCore::Node::invalidateNodeListAndCollectionCachesInAncestorsForAttribute):
- invalidateNodeListAndCollectionCachesInAncestors() used to invalidate childNodeLists
  if the Node was an attribute node. Drop this as this is no longer needed as of r216259.
- After the change to Attr::setValue(), call sites for
  invalidateNodeListAndCollectionCachesInAncestors() either had no parameters, or both
  parameters present and non-null. There is therefore no longer any need to handle
  having an attrName but no attributeOwnerElement. To make this obvious, I split this
  into 2 methods: invalidateNodeListAndCollectionCachesInAncestors() and
  invalidateNodeListAndCollectionCachesInAncestorsForAttribute(attrName). We no longer
  need the attributeOwnerElement parameter as it was only used to exit early.

* dom/Node.h:

Source/WebKit/mac:

Build fix.

* DOM/DOMAttr.mm:
(-[DOMAttr value]):
(-[DOMAttr setValue:]):

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

3 years agoREGRESSION (r207372) Visibility property is not inherited when used in an animation
antti@apple.com [Wed, 10 May 2017 22:23:11 +0000 (22:23 +0000)]
REGRESSION (r207372) Visibility property is not inherited when used in an animation
https://bugs.webkit.org/show_bug.cgi?id=171883
<rdar://problem/32086550>

Reviewed by Simon Fraser.

Source/WebCore:

The problem here is that our animation code is tied to renderers. We don't have renderers during
the initial style resolution so animations are not applied yet. When constructing renderers we set
their style to the initial animated style but this step can't implement inheritance.

Normally this is invisible as the first animation frame will immediately inherit the style correctly.
However in this case the animation is discrete and the first frame is the same as the initial state.
With r207372 we optimize the descendant style change away.

This patch fixes the problem by tracking that the renderer has initial animated style and inheriting
it to descendants during next style resolution even if it doesn't change.

Test: animations/animation-initial-inheritance.html

* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
* rendering/RenderElement.h:
(WebCore::RenderElement::hasInitialAnimatedStyle):
(WebCore::RenderElement::setHasInitialAnimatedStyle):
* style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::createRenderer):

    Set a bit on renderer indicating it has initial animated style.

* style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):

    Return at least 'Inherit' for style change when updating renderer with initial animated style.

LayoutTests:

* animations/animation-initial-inheritance-expected.html: Added.
* animations/animation-initial-inheritance.html: Added.

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

3 years agoRELEASE_ASSERT at WebAudioSourceProviderAVFObjC::provideInput()
jer.noble@apple.com [Wed, 10 May 2017 22:03:14 +0000 (22:03 +0000)]
RELEASE_ASSERT at WebAudioSourceProviderAVFObjC::provideInput()
https://bugs.webkit.org/show_bug.cgi?id=171711

Reviewed by Youenn Fablet.

Before iterating over the channels in either the WebAudioBufferList or the AudioBus, ensure
we don't walk over the end of either by only iterating over the minimum length of either.
Also, when the internal format of WebAudioSourceProviderAVFObjC changes, notify the
MediaStreamAudioSourceNode that the number of channels and sample rate have changed.

* platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:
(WebCore::WebAudioSourceProviderAVFObjC::provideInput):
(WebCore::WebAudioSourceProviderAVFObjC::prepare):

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

3 years agoWeb Inspector: RTL: in Timelines > JavaScript & Events, digits for timer and animatio...
bburg@apple.com [Wed, 10 May 2017 22:01:05 +0000 (22:01 +0000)]
Web Inspector: RTL: in Timelines > JavaScript & Events, digits for timer and animation frame number are not localized
https://bugs.webkit.org/show_bug.cgi?id=171818

Reviewed by Joseph Pecoraro.

These numbers need to be formatted with %d, not %s.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Models/ScriptTimelineRecord.js:
(WebInspector.ScriptTimelineRecord.EventType.displayName):

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

3 years agoWeb Inspector: remove dead code for switching Toolbar display options
bburg@apple.com [Wed, 10 May 2017 21:59:17 +0000 (21:59 +0000)]
Web Inspector: remove dead code for switching Toolbar display options
https://bugs.webkit.org/show_bug.cgi?id=170738

Reviewed by Joseph Pecoraro.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
* UserInterface/Views/ButtonToolbarItem.css:
(.toolbar .item.button > .glyph):
(.toolbar .item.button > .label):
(.toolbar.icon-and-label-vertical .item.button): Deleted.
(.toolbar.icon-and-label-horizontal .item.button): Deleted.
(.toolbar.small-size .item.button > .glyph): Deleted.
(.toolbar.label-only .item.button > .glyph): Deleted.
(.toolbar.label-only .item.activate.button.activated > .label): Deleted.
(.toolbar.icon-and-label-horizontal .item.button > .label): Deleted.
(.toolbar.icon-only .item.button > .label): Deleted.
* UserInterface/Views/ControlToolbarItem.css:
(.toolbar .item.control):
(.toolbar:matches(.icon-and-label-horizontal, .icon-only) .item.control): Deleted.
* UserInterface/Views/DashboardContainerView.css:
(.toolbar .dashboard-container):
(.toolbar.icon-and-label-vertical:matches(.small-size, .normal-size) .dashboard-container): Deleted.
(.toolbar.label-only .dashboard-container,): Deleted.
(.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard-container): Deleted.
(.toolbar.label-only .dashboard-container .advance-arrow): Deleted.
(body[dir=ltr] .toolbar.label-only .dashboard-container .advance-arrow): Deleted.
(body[dir=rtl] .toolbar.label-only .dashboard-container .advance-arrow): Deleted.
* UserInterface/Views/DefaultDashboardView.css:
(.toolbar .dashboard.default > .item):
(.toolbar.label-only .dashboard.default > .item,): Deleted.
(.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard.default > .item): Deleted.
* UserInterface/Views/ReplayDashboardView.css:
(.toolbar .dashboard.replay .item.button > .glyph):
(.toolbar.label-only .dashboard.replay .item.button > .glyph): Deleted.
* UserInterface/Views/Toolbar.css:
(.toolbar .control-section):
(.toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only) .control-section): Deleted.
* UserInterface/Views/Toolbar.js:
(WebInspector.Toolbar):
(WebInspector.Toolbar.prototype.layout):
(WebInspector.Toolbar.prototype.get displayMode): Deleted.
(WebInspector.Toolbar.prototype.set displayMode): Deleted.
(WebInspector.Toolbar.prototype.get sizeMode): Deleted.
(WebInspector.Toolbar.prototype.set sizeMode): Deleted.
(WebInspector.Toolbar.prototype._handleContextMenuEvent): Deleted.
(WebInspector.Toolbar.prototype._changeDisplayMode): Deleted.
(WebInspector.Toolbar.prototype._toggleSmallIcons): Deleted.

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

3 years agoGCController.cpp's collect() should be Async
fpizlo@apple.com [Wed, 10 May 2017 21:57:17 +0000 (21:57 +0000)]
GCController.cpp's collect() should be Async
https://bugs.webkit.org/show_bug.cgi?id=171708

Reviewed by Saam Barati and Geoffrey Garen.

No new tests because no change in behavior.

This is one step towards not requesting sync GCs in WebCore. I'm landing this incrementally to
make bisecting super easy.

This is a ~7% JetStream iOS "regression", because JetStream has a bug where it allows trunk
to sneakily hide GC work between when JetStream measures time. After this change, we are no
longer trying to be sneaky.

* bindings/js/GCController.cpp:
(WebCore::collect):

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

3 years agoMarked transitions/extra-transition.html as flaky.
jlewis3@apple.com [Wed, 10 May 2017 21:34:43 +0000 (21:34 +0000)]
Marked transitions/extra-transition.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171947

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

3 years agoCoreAudioCaptureSource reports 3 or 5 channel audio output; actually only mono
jer.noble@apple.com [Wed, 10 May 2017 21:31:05 +0000 (21:31 +0000)]
CoreAudioCaptureSource reports 3 or 5 channel audio output; actually only mono
https://bugs.webkit.org/show_bug.cgi?id=171940

Reviewed by Eric Carlson.

Asking for the Input VPIO stream format will return the internal mic format, before processing. Instead
ask for the input bus's output format, which is post processing, which will return the correct number
of channels (one).

* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioSharedUnit::configureMicrophoneProc):

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

3 years agoUnreviewed, rolling out r216591.
ryanhaddad@apple.com [Wed, 10 May 2017 21:14:17 +0000 (21:14 +0000)]
Unreviewed, rolling out r216591.

This change broke an internal build.

Reverted changeset:

"REGRESSION (r207372) Visibility property is not inherited
when used in an animation"
https://bugs.webkit.org/show_bug.cgi?id=171883
http://trac.webkit.org/changeset/216591

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

3 years agoUnreviewed, remove TestExpectation for a test that was removed in r216259.
ryanhaddad@apple.com [Wed, 10 May 2017 21:11:31 +0000 (21:11 +0000)]
Unreviewed, remove TestExpectation for a test that was removed in r216259.

* platform/mac/TestExpectations:

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

3 years agoMarked perf/class-list-remove.html as flaky.
jlewis3@apple.com [Wed, 10 May 2017 21:02:50 +0000 (21:02 +0000)]
Marked perf/class-list-remove.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171945

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

3 years agoInclude headers in WebKit.h
achristensen@apple.com [Wed, 10 May 2017 20:52:39 +0000 (20:52 +0000)]
Include headers in WebKit.h
https://bugs.webkit.org/show_bug.cgi?id=171943

Reviewed by Dan Bernstein.

* Shared/API/Cocoa/WebKit.h:

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

3 years agoDrop custom bindings code now window.open()
cdumez@apple.com [Wed, 10 May 2017 20:50:01 +0000 (20:50 +0000)]
Drop custom bindings code now window.open()
https://bugs.webkit.org/show_bug.cgi?id=171933

Reviewed by Geoffrey Garen.

Drop custom bindings code now window.open() as it is not doing anything special.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::open): Deleted.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::open):
* page/DOMWindow.h:
* page/DOMWindow.idl:
* testing/Internals.cpp:
(WebCore::Internals::openDummyInspectorFrontend):

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

3 years agor216599 accidentally included two copies of the new layout test and expected result
aestes@apple.com [Wed, 10 May 2017 20:44:37 +0000 (20:44 +0000)]
r216599 accidentally included two copies of the new layout test and expected result
https://bugs.webkit.org/show_bug.cgi?id=171938

Unreviewed.

* http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt:
* http/tests/navigation/keyboard-events-during-provisional-subframe-navigation.html:

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

3 years agoSkip http/tests/navigation/keyboard-events-during-provisional-subframe-navigation...
ryanhaddad@apple.com [Wed, 10 May 2017 20:41:52 +0000 (20:41 +0000)]
Skip http/tests/navigation/keyboard-events-during-provisional-subframe-navigation.html on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=171880

Unreviewed test gardening.

This test times out on ios-simulator because it relies on eventSender.keyDown.

* platform/ios/TestExpectations:

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

3 years agoDisable block selection for dynamic selection granularity
timothy_horton@apple.com [Wed, 10 May 2017 20:29:27 +0000 (20:29 +0000)]
Disable block selection for dynamic selection granularity
https://bugs.webkit.org/show_bug.cgi?id=171908
<rdar://problem/32098024>

Reviewed by Enrica Casucci.

* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _allowsBlockSelection]):
(-[WKWebViewConfiguration _setAllowsBlockSelection:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
Add a private configuration parameter to re-enable block selection.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _allowsBlockSelection]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/Cocoa/VersionChecks.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::allowsBlockSelection):
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/WebPage.h:
Plumb allowsBlockSelection through from WKWebViewConfiguration to WebPage.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView useSelectionAssistantWithGranularity:]):
(-[WKContentView _startAssistingKeyboard]):
(-[WKContentView _stopAssistingKeyboard]):
(toUIWebSelectionMode): Deleted.
(-[WKContentView useSelectionAssistantWithMode:]): Deleted.
Stop needlessly converting to UIWebSelectionMode.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::shouldSwitchToBlockModeForHandle):
Don't switch to block selection unless allowsBlockSelection is set.

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

3 years agoAdd an experimental feature flag for constant properties
timothy_horton@apple.com [Wed, 10 May 2017 20:26:59 +0000 (20:26 +0000)]
Add an experimental feature flag for constant properties
https://bugs.webkit.org/show_bug.cgi?id=171913
<rdar://problem/31995518>

Reviewed by Ryosuke Niwa.

* css/parser/CSSParser.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
* css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeCustomPropertyValue):
* css/parser/CSSParserMode.h:
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseValueStart):
* css/parser/CSSVariableParser.cpp:
(WebCore::classifyBlock):
(WebCore::isValidVariableReference):
(WebCore::isValidConstantReference):
(WebCore::classifyVariableRange):
(WebCore::CSSVariableParser::containsValidVariableReferences):
(WebCore::CSSVariableParser::parseDeclarationValue):
* css/parser/CSSVariableParser.h:
Plumb the experimental feature flag down into CSSVariableParser by way
of CSSParserContext.

* page/Settings.in:

* Shared/WebPreferencesDefinitions.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Add an experimental feature flag.

* fast/css/variables/constants/invalid-constant-name-fallback.html:
* fast/css/variables/constants/ios/safe-area-inset-set.html:
* fast/css/variables/constants/safe-area-inset-cannot-override.html:
* fast/css/variables/constants/safe-area-inset-zero.html:

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

3 years agoDisable WebGL2 by default
dino@apple.com [Wed, 10 May 2017 20:16:14 +0000 (20:16 +0000)]
Disable WebGL2 by default
https://bugs.webkit.org/show_bug.cgi?id=171894
<rdar://problem/32089917>

Reviewed by Tim Horton.

Some WASM and WebGL2 content is failing because it
detects our WebGL2RenderingContext, but doesn't realise
that we don't implement enough of it to be useful.

* Shared/WebPreferencesDefinitions.h:

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

3 years agoMarked media/track/track-cue-rendering-on-resize.html as flaky.
jlewis3@apple.com [Wed, 10 May 2017 20:07:09 +0000 (20:07 +0000)]
Marked media/track/track-cue-rendering-on-resize.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171939

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

3 years agoCrash in JavaScriptCore GC when using JSC on dispatch queues (thread_get_state return...
mark.lam@apple.com [Wed, 10 May 2017 20:07:03 +0000 (20:07 +0000)]
Crash in JavaScriptCore GC when using JSC on dispatch queues (thread_get_state returns NULL stack pointer).
https://bugs.webkit.org/show_bug.cgi?id=160337
<rdar://problem/27611733>

Reviewed by Filip Pizlo and Geoffrey Garen.

This is a workaround for <rdar://problem/27607384>. During thread initialization,
for some target platforms, thread state is momentarily set to 0 before being
filled in with the target thread's real register values. As a result, there's
a race condition that may result in us getting a null stackPointer during a GC scan.
This issue may manifest with workqueue threads where the OS may choose to recycle
a thread for an expired task.

The workaround is simply to indicate that there's nothing to copy and return.
This is correct because we will only ever observe a null pointer during thread
initialization. Hence, by definition, there's nothing there that we need to scan
yet, and therefore, nothing that needs to be copied.

* heap/MachineStackMarker.cpp:
(JSC::MachineThreads::tryCopyOtherThreadStack):

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

3 years agoREGRESSION (r206960): Possible null pointer dereference under DOMSelection::getRangeAt()
cdumez@apple.com [Wed, 10 May 2017 19:52:21 +0000 (19:52 +0000)]
REGRESSION (r206960): Possible null pointer dereference under DOMSelection::getRangeAt()
https://bugs.webkit.org/show_bug.cgi?id=171925
<rdar://problem/29931223>

Reviewed by Wenson Hsieh.

We have evidence that selection().firstRange() can return null in DOMSelection::getRangeAt().
When this happens, we now throw an INDEX_SIZE_ERR instead of dereferencing it.

I believe this can happen if the VisibleSelection is orphaned but not none, because
rangeCount() only checks for isNone() but VisibleSelection::firstRange() can return null
if isNoneOrOrphaned().

No new tests, I do not know how to reproduce.

* page/DOMSelection.cpp:
(WebCore::DOMSelection::getRangeAt):

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

3 years agoMark imported/w3c/web-platform-tests/dom/nodes/ParentNode-querySelector-All tests...
ryanhaddad@apple.com [Wed, 10 May 2017 19:41:06 +0000 (19:41 +0000)]
Mark imported/w3c/web-platform-tests/dom/nodes/ParentNode-querySelector-All tests as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171937

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

3 years agoMarked tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html as flaky.
jlewis3@apple.com [Wed, 10 May 2017 19:29:56 +0000 (19:29 +0000)]
Marked tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171935

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

3 years agoDumpRenderTree crashed in com.apple.WebCore: std::optional<WTF::MediaTime>::operator...
mrajca@apple.com [Wed, 10 May 2017 19:24:07 +0000 (19:24 +0000)]
DumpRenderTree crashed in com.apple.WebCore: std::optional<WTF::MediaTime>::operator-> + 71 :: CRASHING TEST: fullscreen/video-controls-timeline.html
https://bugs.webkit.org/show_bug.cgi?id=171932

Reviewed by Eric Carlson.

Explicitly initialize m_playbackWithoutUserGesture to "None".

* html/HTMLMediaElement.h:

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

3 years agoWeb Inspector: Copy to clipboard fails via InspectorFrontendHostStub
commit-queue@webkit.org [Wed, 10 May 2017 18:53:33 +0000 (18:53 +0000)]
Web Inspector: Copy to clipboard fails via InspectorFrontendHostStub
https://bugs.webkit.org/show_bug.cgi?id=171907

Patch by Ross Kirsling <ross.kirsling@sony.com> on 2017-05-10
Reviewed by Joseph Pecoraro.

* UserInterface/Base/InspectorFrontendHostStub.js:
(WebInspector.InspectorFrontendHostStub.prototype.copyText):
Actually make a text selection before attempting to copy to clipboard.

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

3 years agoKeyboard input suppression should extend to subframes
aestes@apple.com [Wed, 10 May 2017 18:30:57 +0000 (18:30 +0000)]
Keyboard input suppression should extend to subframes
https://bugs.webkit.org/show_bug.cgi?id=171880
<rdar://problem/31201793>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: http/tests/navigation/keyboard-events-during-provisional-subframe-navigation.html

* dom/EventDispatcher.cpp:
(WebCore::shouldSuppressEventDispatchInDOM): Changed to call shouldSuppressKeyboardInput()
on the main frame's loader.
* editing/Editor.cpp:
(WebCore::Editor::shouldInsertText): Ditto.

LayoutTests:

* http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:
* http/tests/navigation/keyboard-events-during-provisional-navigation.html:
* http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt: Copied from LayoutTests/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt.
* http/tests/navigation/keyboard-events-during-provisional-subframe-navigation.html: Copied from LayoutTests/http/tests/navigation/keyboard-events-during-provisional-navigation.html.
* http/tests/navigation/resources/keyboard-events-after-navigation.html:
* http/tests/navigation/resources/keyboard-events-test.js:
(runTest):
(waitForProvisionalNavigation.xhr.onreadystatechange):
(waitForProvisionalNavigation):

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

3 years agoWebAssemby: builder doesn't do Memory section maximum correctly
jfbastien@apple.com [Wed, 10 May 2017 18:22:31 +0000 (18:22 +0000)]
WebAssemby: builder doesn't do Memory section maximum correctly
https://bugs.webkit.org/show_bug.cgi?id=171931

Reviewed by Keith Miller.

* wasm/Builder.js:
(export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
* wasm/Builder_WebAssemblyBinary.js:
(const.emitters.Memory):
* wasm/function-tests/memory-grow-invalid.js: Added.

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

3 years agoWebAssembly: support name section
jfbastien@apple.com [Wed, 10 May 2017 18:15:17 +0000 (18:15 +0000)]
WebAssembly: support name section
JSTests:

https://bugs.webkit.org/show_bug.cgi?id=171263

Reviewed by Keith Miller.

* wasm/function-tests/nameSection.js: Added.
(const.compile):
* wasm/function-tests/nameSection.wasm: Added.
* wasm/function-tests/stack-trace.js: Update format

Source/JavaScriptCore:

https://bugs.webkit.org/show_bug.cgi?id=171263

Reviewed by Keith Miller.

The name section is an optional custom section in the WebAssembly
spec. At least when debugging, developers expect to be able to use
this section to obtain intelligible stack traces, otherwise we
just number the wasm functions which is somewhat painful.

This patch parses this section, dropping its content eagerly on
error, and if there is a name section then backtraces use their
value instead of numbers. Otherwise we stick to numbers as before.

Note that the format of name sections changed in mid-February:
  https://github.com/WebAssembly/design/pull/984
And binaryen was only updated in early March:
  https://github.com/WebAssembly/binaryen/pull/933

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* interpreter/Interpreter.cpp:
(JSC::GetStackTraceFunctor::operator()):
* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::readNonInlinedFrame):
(JSC::StackVisitor::Frame::functionName):
* interpreter/StackVisitor.h:
(JSC::StackVisitor::Frame::wasmFunctionIndexOrName):
* runtime/StackFrame.cpp:
(JSC::StackFrame::functionName):
* runtime/StackFrame.h:
(JSC::StackFrame::StackFrame):
(JSC::StackFrame::wasm):
* wasm/WasmBBQPlanInlines.h:
(JSC::Wasm::BBQPlan::initializeCallees):
* wasm/WasmCallee.cpp:
(JSC::Wasm::Callee::Callee):
* wasm/WasmCallee.h:
(JSC::Wasm::Callee::create):
(JSC::Wasm::Callee::indexOrName):
* wasm/WasmFormat.cpp:
(JSC::Wasm::makeString):
* wasm/WasmFormat.h:
(JSC::Wasm::isValidExternalKind):
(JSC::Wasm::isValidNameType):
(JSC::Wasm::NameSection::get):
* wasm/WasmIndexOrName.cpp: Copied from Source/JavaScriptCore/wasm/WasmCallee.cpp.
(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::makeString):
* wasm/WasmIndexOrName.h: Copied from Source/JavaScriptCore/wasm/WasmFormat.cpp.
* wasm/WasmModuleInformation.h:
* wasm/WasmModuleParser.cpp:
* wasm/WasmName.h: Copied from Source/JavaScriptCore/wasm/WasmCallee.cpp.
* wasm/WasmNameSectionParser.cpp: Added.
* wasm/WasmNameSectionParser.h: Copied from Source/JavaScriptCore/wasm/WasmCallee.cpp.
(JSC::Wasm::NameSectionParser::NameSectionParser):
* wasm/WasmOMGPlan.cpp:
(JSC::Wasm::OMGPlan::work):
* wasm/WasmParser.h:
(JSC::Wasm::Parser<SuccessType>::consumeUTF8String):

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

3 years agoUnreviewed, rolling out r216563.
jlewis3@apple.com [Wed, 10 May 2017 17:30:19 +0000 (17:30 +0000)]
Unreviewed, rolling out r216563.

Revision caused 2 api failures

Reverted changeset:

"[MediaStream] deviceId constraint doesn't work with
getUserMedia"
https://bugs.webkit.org/show_bug.cgi?id=171877
http://trac.webkit.org/changeset/216563

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

3 years agoMarked imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl.html as flaky.
jlewis3@apple.com [Wed, 10 May 2017 17:16:58 +0000 (17:16 +0000)]
Marked imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171930

Unreviewed test gardening.

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

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

3 years agoNull pointer dereference in WTF::RefPtr<WTF::StringImpl>::operator!() under slow_path...
fpizlo@apple.com [Wed, 10 May 2017 17:00:22 +0000 (17:00 +0000)]
Null pointer dereference in WTF::RefPtr<WTF::StringImpl>::operator!() under slow_path_get_direct_pname
https://bugs.webkit.org/show_bug.cgi?id=171801

Reviewed by Michael Saboff.

JSTests:

These tests used to crash. The prefix and postfix tests cover different paths, except
postfix-ignored goes down the same path as prefix due to an optimization.

* stress/for-in-postfix-ignored-index.js: Added.
(foo):
* stress/for-in-postfix-index.js: Added.
(foo):
* stress/for-in-prefix-index.js: Added.
(foo):

Source/JavaScriptCore:

This was a goofy oversight. The for-in optimization relies on the bytecode generator
to detect when the loop's index variable gets mutated. We forgot to have the hooks for
detecting this in prefix and postfix operations (++i and i++).

* bytecompiler/NodesCodegen.cpp:
(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):

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

3 years agoRefactor ScrollingCoordinator::setSynchronousScrollingReasons to accept a FrameView
commit-queue@webkit.org [Wed, 10 May 2017 16:57:51 +0000 (16:57 +0000)]
Refactor ScrollingCoordinator::setSynchronousScrollingReasons to accept a FrameView
https://bugs.webkit.org/show_bug.cgi?id=171923

Patch by Frederic Wang <fwang@igalia.com> on 2017-05-10
Reviewed by Simon Fraser.

Currently ScrollingCoordinator::setSynchronousScrollingReasons implementations assumes
SynchronousScrollingReasons apply to the main frame. This commit allows to specify
a FrameView in order to prepare support for fast scrolling of frames.

No new tests, no behavior changes.

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons): Use the FrameView to
find the state node.
(WebCore::AsyncScrollingCoordinator::updateScrollLayerPosition): Rename this function
updateMainFrameScrollLayerPosition and use the specified FrameView.
* page/scrolling/AsyncScrollingCoordinator.h: Add FrameView parameter.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons): Remove the const since
AsyncScrollingCoordinator uses scrollLayerForFrameView. Pass the frameView to
setSynchronousScrollingReasons.
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setSynchronousScrollingReasons): Add FrameView parameter.

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

3 years agoREGRESSION (r207372) Visibility property is not inherited when used in an animation
antti@apple.com [Wed, 10 May 2017 16:50:56 +0000 (16:50 +0000)]
REGRESSION (r207372) Visibility property is not inherited when used in an animation
https://bugs.webkit.org/show_bug.cgi?id=171883
<rdar://problem/32086550>

Reviewed by Simon Fraser.

Source/WebCore:

The problem here is that our animation code is tied to renderers. We don't have renderers during
the initial style resolution so animations are not applied yet. When constructing renderers we set
their style to the initial animated style but this step can't implement inheritance.

Normally this is invisible as the first animation frame will immediately inherit the style correctly.
However in this case the animation is discrete and the first frame is the same as the initial state.
With r207372 we optimize the descendant style change away.

This patch fixes the problem by tracking that the renderer has initial animated style and inheriting
it to descendants during next style resolution even if it doesn't change.

Test: animations/animation-initial-inheritance.html

* rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
* rendering/RenderElement.h:
(WebCore::RenderElement::hasInitialAnimatedStyle):
(WebCore::RenderElement::setHasInitialAnimatedStyle):
* style/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::createRenderer):

    Set a bit on renderer indicating it has initial animated style.

* style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::createAnimatedElementUpdate):

    Return at least 'Inherit' for style change when updating renderer with initial animated style.

LayoutTests:

* animations/animation-initial-inheritance-expected.html: Added.
* animations/animation-initial-inheritance.html: Added.

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

3 years agoLayoutTest http/tests/media/track-in-band-hls-metadata-crash.html is a flaky timeout
pvollan@apple.com [Wed, 10 May 2017 16:29:59 +0000 (16:29 +0000)]
LayoutTest http/tests/media/track-in-band-hls-metadata-crash.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=167749

Reviewed by Eric Carlson.

This is a speculative fix of the test. I have not been able to reproduce the timeout.
When the test times out, the 'addtrack' event is never received. In case the event
was dispatched before we added the event listener, the event listener is added before
the video source is set. In case the test will continue to time out, a couple of
error event callbacks have been added to get more information. Also, video playback
will begin when the 'canplaythrough' event is received.

* http/tests/media/track-in-band-hls-metadata-crash-expected.txt:
* http/tests/media/track-in-band-hls-metadata-crash.html:

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

3 years agoTiny cleanup in Font::DerivedFonts
mmaxfield@apple.com [Wed, 10 May 2017 16:06:35 +0000 (16:06 +0000)]
Tiny cleanup in Font::DerivedFonts
https://bugs.webkit.org/show_bug.cgi?id=171893

Reviewed by Jon Lee.

This variable was written to but never read.

No new tests because there is no behavior change.

* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::font):
* platform/graphics/Font.cpp:
(WebCore::Font::verticalRightOrientationFont):
(WebCore::Font::uprightOrientationFont):
(WebCore::Font::smallCapsFont):
(WebCore::Font::noSynthesizableFeaturesFont):
(WebCore::Font::emphasisMarkFont):
(WebCore::Font::brokenIdeographFont):
(WebCore::Font::DerivedFonts::~DerivedFonts): Deleted.
* platform/graphics/Font.h:
(WebCore::Font::DerivedFonts::DerivedFonts): Deleted.

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

3 years agoRemove user agent quirk for Slack
mcatanzaro@igalia.com [Wed, 10 May 2017 14:50:02 +0000 (14:50 +0000)]
Remove user agent quirk for Slack
https://bugs.webkit.org/show_bug.cgi?id=171869

Reviewed by Carlos Garcia Campos.

Source/WebCore:

The user agent quirk for Slack does not seem to be necessary anymore. I am able to use Slack
without difficulty using our default user agent.

* platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresChromeBrowser):

Tools:

Remove the corresponding test.

* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):

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

3 years ago[GTK] HTTP authentication dialog should focus on first input field
csaavedra@igalia.com [Wed, 10 May 2017 14:46:42 +0000 (14:46 +0000)]
[GTK] HTTP authentication dialog should focus on first input field
https://bugs.webkit.org/show_bug.cgi?id=151349

Reviewed by Michael Catanzaro.

Setting focus on a widget before it's mapped does nothing. Move
the call to the right place.

* UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:
(webkitAuthenticationDialogInitialize):
(webkitAuthenticationDialogMap):

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

3 years ago[Win] Specify source file type when preprocessing IDL files
commit-queue@webkit.org [Wed, 10 May 2017 14:31:29 +0000 (14:31 +0000)]
[Win] Specify source file type when preprocessing IDL files
https://bugs.webkit.org/show_bug.cgi?id=171864

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-05-10
Reviewed by Alex Christensen.

* Source/cmake/OptionsCommon.cmake:

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

3 years ago[GTK] -Wmissing-field-initializers triggered by RemoteInspectorServer.cpp:128
mcatanzaro@igalia.com [Wed, 10 May 2017 14:26:53 +0000 (14:26 +0000)]
[GTK] -Wmissing-field-initializers triggered by RemoteInspectorServer.cpp:128
https://bugs.webkit.org/show_bug.cgi?id=171273

Reviewed by Carlos Garcia Campos.

Source/JavaScriptCore:

* inspector/remote/glib/RemoteInspectorGlib.cpp:
* inspector/remote/glib/RemoteInspectorServer.cpp:

Source/WebKit2:

* UIProcess/glib/RemoteInspectorClient.cpp:
(WebKit::RemoteInspectorClient::RemoteInspectorClient):

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

3 years ago[GTK] Fix compile warnings in CryptoKeyECGCrypt.cpp
hyungwook.lee@navercorp.com [Wed, 10 May 2017 14:05:11 +0000 (14:05 +0000)]
[GTK] Fix compile warnings in CryptoKeyECGCrypt.cpp
https://bugs.webkit.org/show_bug.cgi?id=171851

Reviewed by Alex Christensen.

* crypto/gcrypt/CryptoKeyECGCrypt.cpp:
(WebCore::curveSize):
(WebCore::curveName):
(WebCore::uncompressedPointSizeForCurve):
(WebCore::uncompressedFieldElementSizeForCurve):

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

3 years agoRemove some last remnants of the EFL port
commit-queue@webkit.org [Wed, 10 May 2017 14:01:36 +0000 (14:01 +0000)]
Remove some last remnants of the EFL port
https://bugs.webkit.org/show_bug.cgi?id=171922

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2017-05-10
Reviewed by Antonio Gomes.

The EFL port is no more.

.:

* Source/PlatformEfl.cmake: Removed.

Source/JavaScriptCore:

* PlatformEfl.cmake: Removed.
* shell/PlatformEfl.cmake: Removed.

Source/WTF:

* wtf/PlatformEfl.cmake: Removed.

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

3 years agoUnreviewed, rolling out r216578.
commit-queue@webkit.org [Wed, 10 May 2017 12:35:47 +0000 (12:35 +0000)]
Unreviewed, rolling out r216578.
https://bugs.webkit.org/show_bug.cgi?id=171920

Broke the GTK+ build with Wayland enabled (Requested by KaL on
#webkit).

Reverted changeset:

"[GTK] Bump GTK+ and its dependencies in jhbuild"
https://bugs.webkit.org/show_bug.cgi?id=171918
http://trac.webkit.org/changeset/216578

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

3 years ago[GTK] Bump GTK+ and its dependencies in jhbuild
carlosgc@webkit.org [Wed, 10 May 2017 11:53:12 +0000 (11:53 +0000)]
[GTK] Bump GTK+ and its dependencies in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=171918

Reviewed by Carlos Alberto Lopez Perez.

Tools:

* WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::initializeGtkSettings):
* gtk/jhbuild.modules:
* gtk/patches/gtk+-configure-fix-detecting-CUPS-2.x.patch: Removed.
* gtk/patches/librsvg-2.36.1-bump-up-config.guess-to-support-aarch64.patch: Removed.

LayoutTests:

Rebaseline tests for new GTK+ versin.

* platform/gtk/css1/box_properties/acid_test-expected.txt:
* platform/gtk/css2.1/20110323/replaced-elements-001-expected.png:
* platform/gtk/css2.1/20110323/replaced-elements-001-expected.txt:
* platform/gtk/css2.1/t09-c5526c-display-00-e-expected.png:
* platform/gtk/css2.1/t09-c5526c-display-00-e-expected.txt:
* platform/gtk/css3/flexbox/button-expected.png:
* platform/gtk/css3/flexbox/button-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-161-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-161-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-19b-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-19b-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-23-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-23-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-25-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-25-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-69-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-69-expected.txt:
* platform/gtk/css3/selectors3/html/css3-modsel-70-expected.png:
* platform/gtk/css3/selectors3/html/css3-modsel-70-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-19b-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-19b-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-23-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-23-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-69-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-69-expected.txt:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.png:
* platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-161-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-19b-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-19b-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-23-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-23-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-69-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-69-expected.txt:
* platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.png:
* platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.txt:
* platform/gtk/editing/pasteboard/4641033-expected.png:
* platform/gtk/editing/pasteboard/4641033-expected.txt:
* platform/gtk/editing/pasteboard/4944770-1-expected.png:
* platform/gtk/editing/pasteboard/4944770-1-expected.txt:
* platform/gtk/editing/pasteboard/4944770-2-expected.png:
* platform/gtk/editing/pasteboard/4944770-2-expected.txt:
* platform/gtk/editing/selection/3690703-2-expected.png:
* platform/gtk/editing/selection/3690703-2-expected.txt:
* platform/gtk/editing/selection/3690703-expected.png:
* platform/gtk/editing/selection/3690703-expected.txt:
* platform/gtk/editing/selection/3690719-expected.png:
* platform/gtk/editing/selection/3690719-expected.txt:
* platform/gtk/editing/selection/4397952-expected.png:
* platform/gtk/editing/selection/4397952-expected.txt:
* platform/gtk/editing/selection/5240265-expected.png:
* platform/gtk/editing/selection/5240265-expected.txt:
* platform/gtk/editing/selection/caret-before-select-expected.png:
* platform/gtk/editing/selection/caret-before-select-expected.txt:
* platform/gtk/editing/selection/replaced-boundaries-3-expected.png:
* platform/gtk/editing/selection/replaced-boundaries-3-expected.txt:
* platform/gtk/editing/selection/select-box-expected.png:
* platform/gtk/editing/selection/select-box-expected.txt:
* platform/gtk/editing/selection/select-element-paragraph-boundary-expected.png:
* platform/gtk/editing/selection/select-element-paragraph-boundary-expected.txt:
* platform/gtk/editing/selection/selection-button-text-expected.png:
* platform/gtk/editing/selection/selection-button-text-expected.txt:
* platform/gtk/fast/block/basic/011-expected.png:
* platform/gtk/fast/block/basic/011-expected.txt:
* platform/gtk/fast/block/float/float-avoidance-expected.png:
* platform/gtk/fast/block/float/float-avoidance-expected.txt:
* platform/gtk/fast/block/margin-collapse/103-expected.png:
* platform/gtk/fast/block/margin-collapse/103-expected.txt:
* platform/gtk/fast/block/positioning/inline-block-relposition-expected.png:
* platform/gtk/fast/block/positioning/inline-block-relposition-expected.txt:
* platform/gtk/fast/box-sizing/percentage-height-expected.png:
* platform/gtk/fast/box-sizing/percentage-height-expected.txt:
* platform/gtk/fast/css/continuationCrash-expected.png:
* platform/gtk/fast/css/continuationCrash-expected.txt:
* platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.png:
* platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt:
* platform/gtk/fast/css/input-search-padding-expected.png:
* platform/gtk/fast/css/input-search-padding-expected.txt:
* platform/gtk/fast/css/margin-top-bottom-dynamic-expected.png:
* platform/gtk/fast/css/margin-top-bottom-dynamic-expected.txt:
* platform/gtk/fast/css/non-standard-checkbox-size-expected.png:
* platform/gtk/fast/css/non-standard-checkbox-size-expected.txt:
* platform/gtk/fast/css/rtl-ordering-expected.png:
* platform/gtk/fast/css/rtl-ordering-expected.txt:
* platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.png:
* platform/gtk/fast/css/text-input-with-webkit-border-radius-expected.txt:
* platform/gtk/fast/css/text-overflow-input-expected.png:
* platform/gtk/fast/css/text-overflow-input-expected.txt:
* platform/gtk/fast/css/text-transform-select-expected.png:
* platform/gtk/fast/css/text-transform-select-expected.txt:
* platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.png:
* platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/gtk/fast/dom/HTMLProgressElement/indeterminate-progress-001-expected.txt:
* platform/gtk/fast/dom/HTMLProgressElement/native-progress-bar-expected.png:
* platform/gtk/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
* platform/gtk/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.png:
* platform/gtk/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
* platform/gtk/fast/dom/HTMLProgressElement/progress-element-expected.png:
* platform/gtk/fast/dom/HTMLProgressElement/progress-element-expected.txt:
* platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png:
* platform/gtk/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.txt:
* platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
* platform/gtk/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
* platform/gtk/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
* platform/gtk/fast/forms/001-expected.png:
* platform/gtk/fast/forms/001-expected.txt:
* platform/gtk/fast/forms/003-expected.png:
* platform/gtk/fast/forms/003-expected.txt:
* platform/gtk/fast/forms/004-expected.png:
* platform/gtk/fast/forms/004-expected.txt:
* platform/gtk/fast/forms/basic-buttons-expected.png:
* platform/gtk/fast/forms/basic-buttons-expected.txt:
* platform/gtk/fast/forms/basic-inputs-expected.png:
* platform/gtk/fast/forms/basic-inputs-expected.txt:
* platform/gtk/fast/forms/basic-selects-expected.png:
* platform/gtk/fast/forms/basic-selects-expected.txt:
* platform/gtk/fast/forms/blankbuttons-expected.png:
* platform/gtk/fast/forms/blankbuttons-expected.txt:
* platform/gtk/fast/forms/box-shadow-override-expected.png:
* platform/gtk/fast/forms/box-shadow-override-expected.txt:
* platform/gtk/fast/forms/button-align-expected.png:
* platform/gtk/fast/forms/button-align-expected.txt:
* platform/gtk/fast/forms/button-cannot-be-nested-expected.png:
* platform/gtk/fast/forms/button-cannot-be-nested-expected.txt:
* platform/gtk/fast/forms/button-default-title-expected.png:
* platform/gtk/fast/forms/button-default-title-expected.txt:
* platform/gtk/fast/forms/button-generated-content-expected.png:
* platform/gtk/fast/forms/button-generated-content-expected.txt:
* platform/gtk/fast/forms/button-inner-block-reuse-expected.png:
* platform/gtk/fast/forms/button-inner-block-reuse-expected.txt:
* platform/gtk/fast/forms/button-positioned-expected.png:
* platform/gtk/fast/forms/button-positioned-expected.txt:
* platform/gtk/fast/forms/button-sizes-expected.png:
* platform/gtk/fast/forms/button-sizes-expected.txt:
* platform/gtk/fast/forms/button-style-color-expected.png:
* platform/gtk/fast/forms/button-style-color-expected.txt:
* platform/gtk/fast/forms/button-table-styles-expected.png:
* platform/gtk/fast/forms/button-table-styles-expected.txt:
* platform/gtk/fast/forms/button-text-transform-expected.png:
* platform/gtk/fast/forms/button-text-transform-expected.txt:
* platform/gtk/fast/forms/button-white-space-expected.png:
* platform/gtk/fast/forms/button-white-space-expected.txt:
* platform/gtk/fast/forms/control-clip-expected.png:
* platform/gtk/fast/forms/control-clip-expected.txt:
* platform/gtk/fast/forms/control-clip-overflow-expected.png:
* platform/gtk/fast/forms/control-clip-overflow-expected.txt:
* platform/gtk/fast/forms/control-restrict-line-height-expected.png:
* platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
* platform/gtk/fast/forms/disabled-select-change-index-expected.png:
* platform/gtk/fast/forms/disabled-select-change-index-expected.txt:
* platform/gtk/fast/forms/file/file-input-direction-expected.png:
* platform/gtk/fast/forms/file/file-input-direction-expected.txt:
* platform/gtk/fast/forms/file/file-input-disabled-expected.png:
* platform/gtk/fast/forms/file/file-input-disabled-expected.txt:
* platform/gtk/fast/forms/form-element-geometry-expected.png:
* platform/gtk/fast/forms/form-element-geometry-expected.txt:
* platform/gtk/fast/forms/formmove-expected.png:
* platform/gtk/fast/forms/formmove-expected.txt:
* platform/gtk/fast/forms/formmove2-expected.png:
* platform/gtk/fast/forms/formmove2-expected.txt:
* platform/gtk/fast/forms/formmove3-expected.png:
* platform/gtk/fast/forms/formmove3-expected.txt:
* platform/gtk/fast/forms/indeterminate-expected.png:
* platform/gtk/fast/forms/indeterminate-expected.txt:
* platform/gtk/fast/forms/input-appearance-height-expected.png:
* platform/gtk/fast/forms/input-appearance-height-expected.txt:
* platform/gtk/fast/forms/input-button-sizes-expected.png:
* platform/gtk/fast/forms/input-button-sizes-expected.txt:
* platform/gtk/fast/forms/input-first-letter-expected.png:
* platform/gtk/fast/forms/input-first-letter-expected.txt:
* platform/gtk/fast/forms/input-number-click-expected.txt: Added.
* platform/gtk/fast/forms/input-value-expected.png:
* platform/gtk/fast/forms/input-value-expected.txt:
* platform/gtk/fast/forms/menulist-deselect-update-expected.png:
* platform/gtk/fast/forms/menulist-deselect-update-expected.txt:
* platform/gtk/fast/forms/menulist-narrow-width-expected.png:
* platform/gtk/fast/forms/menulist-narrow-width-expected.txt:
* platform/gtk/fast/forms/menulist-no-overflow-expected.png:
* platform/gtk/fast/forms/menulist-no-overflow-expected.txt:
* platform/gtk/fast/forms/menulist-restrict-line-height-expected.png:
* platform/gtk/fast/forms/menulist-restrict-line-height-expected.txt:
* platform/gtk/fast/forms/menulist-separator-painting-expected.png:
* platform/gtk/fast/forms/menulist-separator-painting-expected.txt:
* platform/gtk/fast/forms/menulist-style-color-expected.png:
* platform/gtk/fast/forms/menulist-style-color-expected.txt:
* platform/gtk/fast/forms/menulist-width-change-expected.png:
* platform/gtk/fast/forms/menulist-width-change-expected.txt:
* platform/gtk/fast/forms/number/number-appearance-rtl-expected.png:
* platform/gtk/fast/forms/number/number-appearance-rtl-expected.txt:
* platform/gtk/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.png:
* platform/gtk/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
* platform/gtk/fast/forms/number/number-appearance-spinbutton-layer-expected.png:
* platform/gtk/fast/forms/number/number-appearance-spinbutton-layer-expected.txt:
* platform/gtk/fast/forms/number/number-spinbutton-change-and-input-events-expected.txt: Added.
* platform/gtk/fast/forms/number/number-spinbutton-click-in-iframe-expected.txt: Added.
* platform/gtk/fast/forms/number/number-spinbutton-gets-disabled-or-readonly-expected.txt: Added.
* platform/gtk/fast/forms/option-script-expected.png:
* platform/gtk/fast/forms/option-script-expected.txt:
* platform/gtk/fast/forms/option-strip-whitespace-expected.png:
* platform/gtk/fast/forms/option-strip-whitespace-expected.txt:
* platform/gtk/fast/forms/option-text-clip-expected.png:
* platform/gtk/fast/forms/option-text-clip-expected.txt:
* platform/gtk/fast/forms/placeholder-position-expected.png:
* platform/gtk/fast/forms/placeholder-position-expected.txt:
* platform/gtk/fast/forms/placeholder-pseudo-style-expected.png:
* platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
* platform/gtk/fast/forms/range/input-appearance-range-expected.png:
* platform/gtk/fast/forms/range/input-appearance-range-expected.txt:
* platform/gtk/fast/forms/range/slider-padding-expected.png:
* platform/gtk/fast/forms/range/slider-padding-expected.txt:
* platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.png:
* platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/gtk/fast/forms/range/slider-transformed-expected.txt:
* platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.png:
* platform/gtk/fast/forms/range/thumbslider-no-parent-slider-expected.txt:
* platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.png:
* platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:
* platform/gtk/fast/forms/search-display-none-cancel-button-expected.png:
* platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:
* platform/gtk/fast/forms/search-input-rtl-expected.png:
* platform/gtk/fast/forms/search-input-rtl-expected.txt: Added.
* platform/gtk/fast/forms/search-rtl-expected.png:
* platform/gtk/fast/forms/search-rtl-expected.txt:
* platform/gtk/fast/forms/search-styled-expected.png:
* platform/gtk/fast/forms/search-styled-expected.txt:
* platform/gtk/fast/forms/search/search-size-with-decorations-expected.png:
* platform/gtk/fast/forms/search/search-size-with-decorations-expected.txt:
* platform/gtk/fast/forms/searchfield-heights-expected.png:
* platform/gtk/fast/forms/searchfield-heights-expected.txt:
* platform/gtk/fast/forms/select-align-expected.png:
* platform/gtk/fast/forms/select-align-expected.txt:
* platform/gtk/fast/forms/select-background-none-expected.png:
* platform/gtk/fast/forms/select-background-none-expected.txt:
* platform/gtk/fast/forms/select-baseline-expected.png:
* platform/gtk/fast/forms/select-baseline-expected.txt:
* platform/gtk/fast/forms/select-change-listbox-to-popup-expected.png:
* platform/gtk/fast/forms/select-change-listbox-to-popup-expected.txt:
* platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.png:
* platform/gtk/fast/forms/select-dirty-parent-pref-widths-expected.txt:
* platform/gtk/fast/forms/select-disabled-appearance-expected.png:
* platform/gtk/fast/forms/select-disabled-appearance-expected.txt:
* platform/gtk/fast/forms/select-element-focus-ring-expected.png: Added.
* platform/gtk/fast/forms/select-element-focus-ring-expected.txt:
* platform/gtk/fast/forms/select-initial-position-expected.png:
* platform/gtk/fast/forms/select-initial-position-expected.txt:
* platform/gtk/fast/forms/select-non-native-rendering-direction-expected.png: Added.
* platform/gtk/fast/forms/select-non-native-rendering-direction-expected.txt: Added.
* platform/gtk/fast/forms/select-selected-expected.png:
* platform/gtk/fast/forms/select-selected-expected.txt:
* platform/gtk/fast/forms/select-style-expected.png:
* platform/gtk/fast/forms/select-style-expected.txt:
* platform/gtk/fast/forms/select-visual-hebrew-expected.png:
* platform/gtk/fast/forms/select-visual-hebrew-expected.txt:
* platform/gtk/fast/forms/select-writing-direction-natural-expected.png:
* platform/gtk/fast/forms/select-writing-direction-natural-expected.txt:
* platform/gtk/fast/forms/select/optgroup-rendering-expected.png:
* platform/gtk/fast/forms/select/optgroup-rendering-expected.txt:
* platform/gtk/fast/forms/selectlist-minsize-expected.png:
* platform/gtk/fast/forms/selectlist-minsize-expected.txt:
* platform/gtk/fast/forms/stuff-on-my-optgroup-expected.png:
* platform/gtk/fast/forms/stuff-on-my-optgroup-expected.txt:
* platform/gtk/fast/forms/targeted-frame-submission-expected.png:
* platform/gtk/fast/forms/targeted-frame-submission-expected.txt:
* platform/gtk/fast/forms/validation-message-appearance-expected.png:
* platform/gtk/fast/forms/validation-message-appearance-expected.txt:
* platform/gtk/fast/html/details-replace-summary-child-expected.png:
* platform/gtk/fast/html/details-replace-summary-child-expected.txt:
* platform/gtk/fast/html/details-replace-text-expected.png:
* platform/gtk/fast/html/details-replace-text-expected.txt:
* platform/gtk/fast/html/keygen-expected.png:
* platform/gtk/fast/html/keygen-expected.txt:
* platform/gtk/fast/inline/positionedLifetime-expected.png:
* platform/gtk/fast/inline/positionedLifetime-expected.txt:
* platform/gtk/fast/invalid/014-expected.png:
* platform/gtk/fast/invalid/014-expected.txt:
* platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.png:
* platform/gtk/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt:
* platform/gtk/fast/overflow/scrollRevealButton-expected.png:
* platform/gtk/fast/overflow/scrollRevealButton-expected.txt:
* platform/gtk/fast/parser/bad-xml-slash-expected.png:
* platform/gtk/fast/parser/bad-xml-slash-expected.txt:
* platform/gtk/fast/parser/document-write-option-expected.png:
* platform/gtk/fast/parser/document-write-option-expected.txt:
* platform/gtk/fast/repaint/search-field-cancel-expected.png:
* platform/gtk/fast/repaint/search-field-cancel-expected.txt:
* platform/gtk/fast/repaint/slider-thumb-drag-release-expected.png:
* platform/gtk/fast/repaint/slider-thumb-drag-release-expected.txt:
* platform/gtk/fast/replaced/replaced-breaking-expected.png:
* platform/gtk/fast/replaced/replaced-breaking-expected.txt:
* platform/gtk/fast/replaced/replaced-breaking-mixture-expected.png:
* platform/gtk/fast/replaced/replaced-breaking-mixture-expected.txt:
* platform/gtk/fast/replaced/three-selects-break-expected.png:
* platform/gtk/fast/replaced/three-selects-break-expected.txt:
* platform/gtk/fast/replaced/width100percent-button-expected.png:
* platform/gtk/fast/replaced/width100percent-button-expected.txt:
* platform/gtk/fast/replaced/width100percent-menulist-expected.png:
* platform/gtk/fast/replaced/width100percent-menulist-expected.txt:
* platform/gtk/fast/replaced/width100percent-searchfield-expected.png:
* platform/gtk/fast/replaced/width100percent-searchfield-expected.txt:
* platform/gtk/fast/scrolling/overflow-scrollable-after-back-expected.txt: Added.
* platform/gtk/fast/table/append-cells2-expected.png:
* platform/gtk/fast/table/append-cells2-expected.txt:
* platform/gtk/fast/table/remove-td-display-none-expected.png:
* platform/gtk/fast/table/remove-td-display-none-expected.txt:
* platform/gtk/fast/text/international/bidi-menulist-expected.png:
* platform/gtk/fast/text/international/bidi-menulist-expected.txt:
* platform/gtk/fast/text/international/hindi-spacing-expected.png:
* platform/gtk/fast/text/international/hindi-spacing-expected.txt:
* platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.png:
* platform/gtk/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
* platform/gtk/fast/text/textIteratorNilRenderer-expected.png:
* platform/gtk/fast/text/textIteratorNilRenderer-expected.txt:
* platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.png:
* platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt:
* platform/gtk/http/tests/navigation/javascriptlink-frames-expected.png:
* platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt:
* platform/gtk/svg/custom/foreign-object-skew-expected.png:
* platform/gtk/svg/custom/foreign-object-skew-expected.txt:
* platform/gtk/svg/custom/inline-svg-in-xhtml-expected.png:
* platform/gtk/svg/custom/inline-svg-in-xhtml-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug1188-expected.png:
* platform/gtk/tables/mozilla/bugs/bug1188-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug1318-expected.png:
* platform/gtk/tables/mozilla/bugs/bug1318-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug138725-expected.png:
* platform/gtk/tables/mozilla/bugs/bug138725-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug18359-expected.png:
* platform/gtk/tables/mozilla/bugs/bug18359-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug2479-2-expected.png:
* platform/gtk/tables/mozilla/bugs/bug2479-2-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug2479-3-expected.png:
* platform/gtk/tables/mozilla/bugs/bug2479-3-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug2479-4-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug26178-expected.png:
* platform/gtk/tables/mozilla/bugs/bug26178-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug28928-expected.png:
* platform/gtk/tables/mozilla/bugs/bug28928-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug29326-expected.png:
* platform/gtk/tables/mozilla/bugs/bug29326-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug33855-expected.png:
* platform/gtk/tables/mozilla/bugs/bug33855-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug39209-expected.png:
* platform/gtk/tables/mozilla/bugs/bug39209-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug4382-expected.png:
* platform/gtk/tables/mozilla/bugs/bug4382-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug4429-expected.png:
* platform/gtk/tables/mozilla/bugs/bug4429-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug44505-expected.png:
* platform/gtk/tables/mozilla/bugs/bug44505-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug4527-expected.png:
* platform/gtk/tables/mozilla/bugs/bug4527-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug46368-1-expected.png:
* platform/gtk/tables/mozilla/bugs/bug46368-1-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug46368-2-expected.png:
* platform/gtk/tables/mozilla/bugs/bug46368-2-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug51037-expected.png:
* platform/gtk/tables/mozilla/bugs/bug51037-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug51727-expected.png:
* platform/gtk/tables/mozilla/bugs/bug51727-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug52505-expected.png:
* platform/gtk/tables/mozilla/bugs/bug52505-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug52506-expected.png:
* platform/gtk/tables/mozilla/bugs/bug52506-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug60749-expected.png:
* platform/gtk/tables/mozilla/bugs/bug60749-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug68912-expected.png:
* platform/gtk/tables/mozilla/bugs/bug68912-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug7342-expected.png:
* platform/gtk/tables/mozilla/bugs/bug7342-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug92647-2-expected.png:
* platform/gtk/tables/mozilla/bugs/bug92647-2-expected.txt:
* platform/gtk/tables/mozilla/bugs/bug96334-expected.png:
* platform/gtk/tables/mozilla/bugs/bug96334-expected.txt:
* platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.png:
* platform/gtk/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
* platform/gtk/tables/mozilla/core/margins-expected.png:
* platform/gtk/tables/mozilla/core/margins-expected.txt:
* platform/gtk/tables/mozilla/dom/tableDom-expected.png:
* platform/gtk/tables/mozilla/dom/tableDom-expected.txt:
* platform/gtk/tables/mozilla/other/move_row-expected.png:
* platform/gtk/tables/mozilla/other/move_row-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.png:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.png:
* platform/gtk/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.png:
* platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.png:
* platform/gtk/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.png:
* platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.txt:
* platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.png:
* platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.txt:
* platform/gtk/transforms/2d/zoom-menulist-expected.png:
* platform/gtk/transforms/2d/zoom-menulist-expected.txt:

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

3 years ago[Win] Set CMake args in build-webkit
commit-queue@webkit.org [Wed, 10 May 2017 10:04:36 +0000 (10:04 +0000)]
[Win] Set CMake args in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=171436

Patch by Don Olmstead <don.olmstead@am.sony.com> on 2017-05-10
Reviewed by Per Arne Vollan.

* Scripts/build-webkit:

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

3 years agoImageDiff: Add CG implementation for new ImageDiff
commit-queue@webkit.org [Wed, 10 May 2017 08:16:15 +0000 (08:16 +0000)]
ImageDiff: Add CG implementation for new ImageDiff
https://bugs.webkit.org/show_bug.cgi?id=170608

Reviewed Alex Christensen.

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-05-10

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/win/ImageDiffCairo.cpp: Removed.
* DumpRenderTree/win/ImageDiffWin.cpp: Removed.
* ImageDiff/CMakeLists.txt:
* ImageDiff/Cairo.cmake:
* ImageDiff/ImageDiff.cpp:
(main):
* ImageDiff/ImageDiff.xcodeproj/project.pbxproj:
* ImageDiff/PlatformImage.cpp:
* ImageDiff/PlatformImage.h:
* ImageDiff/cairo/PlatformImageCairo.cpp:
* ImageDiff/cg/ImageDiff.cpp: Removed.
* ImageDiff/cg/PlatformImageCG.cpp: Added.
(ImageDiff::PlatformImage::createFromStdin):
(ImageDiff::PlatformImage::createFromDiffData):
(ImageDiff::PlatformImage::PlatformImage):
(ImageDiff::PlatformImage::~PlatformImage):
(ImageDiff::PlatformImage::width):
(ImageDiff::PlatformImage::height):
(ImageDiff::PlatformImage::rowBytes):
(ImageDiff::PlatformImage::hasAlpha):
(ImageDiff::PlatformImage::pixels):
(ImageDiff::PlatformImage::writeAsPNGToStdout):

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

3 years agoEnable FTL JIT by default on AArch64
zandobersek@gmail.com [Wed, 10 May 2017 08:04:44 +0000 (08:04 +0000)]
Enable FTL JIT by default on AArch64
https://bugs.webkit.org/show_bug.cgi?id=144039

Reviewed by Yusuke Suzuki.

.:

* Source/cmake/OptionsWPE.cmake:
* Source/cmake/WebKitFeatures.cmake: Set FTL as enabled by default
when targeting either WTF_CPU_X86_64 or WTF_CPU_ARM64.

Tools:

* Scripts/build-jsc: Enable the FTL JIT option by default on ARM64.
* Scripts/run-jsc-stress-tests: Unmark the ARM64 and Linux combination
as an unsupported FTL platform.
* Scripts/webkitdirs.pm:
(isARM64): Returns 1 if the determined architecture is 'arm64'.
* Scripts/webkitperl/FeatureList.pm: Enable FTL_JIT and WEBASSEMBLY on ARM64.

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

3 years ago[css-grid] Remove Blink-specific code for handling orthogonal grid items
svillar@igalia.com [Wed, 10 May 2017 07:42:46 +0000 (07:42 +0000)]
[css-grid] Remove Blink-specific code for handling orthogonal grid items
https://bugs.webkit.org/show_bug.cgi?id=171807

Reviewed by Darin Adler.

Source/WebCore:

This code was added in r203252 as part of a patch improving the handling of
{min|max}-content with orthogonal flows. The original code came from Blink which performs a
pre-layout of orthogonal boxes in FrameView. That is not true in the case of WebKit so we do
not need this code at all. Actually it was causing incorrect renderings in some tests.

I'm also removing an invalid return statement just after another return.

* rendering/GridTrackSizingAlgorithm.cpp:
(WebCore::GridTrackSizingAlgorithmStrategy::minContentForChild):
(WebCore::GridTrackSizingAlgorithmStrategy::maxContentForChild):

LayoutTests:

Updated the expectations. They should now be compatible with Firefox and Chrome.

* fast/css-grid-layout/grid-track-sizing-with-orthogonal-flows.html:
* fast/css-grid-layout/grid-track-sizing-with-percentages-and-orthogonal-flows.html:
* fast/css-grid-layout/repeating-layout-must-produce-the-same-results.html:

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

3 years ago[Win] StaticStringImpl in HTMLNames.cpp aren't constructed
commit-queue@webkit.org [Wed, 10 May 2017 07:22:57 +0000 (07:22 +0000)]
[Win] StaticStringImpl in HTMLNames.cpp aren't constructed
https://bugs.webkit.org/show_bug.cgi?id=171800

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-05-10
Reviewed by Yusuke Suzuki.

Global variables of StaticStringImpl in HTMLNames.cpp aren't
constructed on Windows since Bug 171586. It seems that
reinterpret_cast prevents constexpr's compile time initialization
in VC++.

* wtf/text/StringImpl.h:
(WTF::StringImplShape::StringImplShape): Added const char* and
const char16_t* members in the union. Do not use reinterpret_cast
in constexpr constructors.

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

3 years agoUnreviewed build fix.
zandobersek@gmail.com [Wed, 10 May 2017 05:51:35 +0000 (05:51 +0000)]
Unreviewed build fix.

* platform/wpe/WidgetWPE.cpp:
(WebCore::Widget::paint): Add the missing SecurityOriginPaintPolicy parameter.

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

3 years agoWeb Inspector: Provide resource load error reason text in details sidebar
commit-queue@webkit.org [Wed, 10 May 2017 05:28:54 +0000 (05:28 +0000)]
Web Inspector: Provide resource load error reason text in details sidebar
https://bugs.webkit.org/show_bug.cgi?id=171901
<rdar://problem/29850995>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-05-09
Reviewed by Brian Burg.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Controllers/FrameResourceManager.js:
(WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading):
* UserInterface/Models/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.get failureReasonText):
(WebInspector.Resource.prototype.markAsFailed):
* UserInterface/Protocol/NetworkObserver.js:
(WebInspector.NetworkObserver.prototype.loadingFailed):
Include the error text we got from the backend. In most cases this should
be a localized error description.

* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshErrorReason):
(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestAndResponse):
Include an Error field alongside the status code section when there was an error.

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

3 years ago[MediaStream] deviceId constraint doesn't work with getUserMedia
eric.carlson@apple.com [Wed, 10 May 2017 04:42:18 +0000 (04:42 +0000)]
[MediaStream] deviceId constraint doesn't work with getUserMedia
https://bugs.webkit.org/show_bug.cgi?id=171877
<rdar://problem/31899730>

Reviewed by Jer Noble.

Source/WebCore:

Test: fast/mediastream/get-user-media-device-id.html

* Modules/mediastream/MediaConstraintsImpl.h:
(WebCore::MediaConstraintsData::MediaConstraintsData): Add a constructor that
takes a const MediaConstraints&.

* Modules/mediastream/MediaDevicesEnumerationRequest.cpp:
(WebCore::MediaDevicesEnumerationRequest::topLevelDocumentOrigin): Don't return
NULL for the main frame so the origin matches that returned for a UserMediaRequest.

* Modules/mediastream/UserMediaController.h:
(WebCore::UserMediaController::setDeviceIDHashSalt): Deleted, not used.
(WebCore::UserMediaController::deviceIDHashSalt): Deleted, not used.

* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::allow): Add device ID hash salt parameter, set it on
constraints.
* Modules/mediastream/UserMediaRequest.h:

* platform/mediastream/MediaConstraints.h:
* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance): ASSERT if called for DeviceId.
(WebCore::RealtimeMediaSource::selectSettings): Special case DeviceId because it
we have to hash the device ID before comparing, and because the DeviceId can't be
changed so it should never be added to the flattened constraints.

* platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp:
(WebCore::RealtimeMediaSourceSupportedConstraints::nameForConstraint): Deleted, unused.
(WebCore::RealtimeMediaSourceSupportedConstraints::constraintFromName): Deleted, unused.
* platform/mediastream/RealtimeMediaSourceSupportedConstraints.h:

* platform/mediastream/mac/AVVideoCaptureSource.mm:
* platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::bestSourcesForTypeAndConstraints): Pass device
id, not empty string.

Source/WebKit2:

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<MediaConstraintsData>::encode): Encode deviceIDHashSalt.
(IPC::ArgumentCoder<MediaConstraintsData>::decode): Decode deviceIDHashSalt.

* UIProcess/UserMediaPermissionCheckProxy.cpp:
(WebKit::UserMediaPermissionCheckProxy::UserMediaPermissionCheckProxy): Initialize
completion handler, frame ID, and security origins.
(WebKit::UserMediaPermissionCheckProxy::setUserMediaAccessInfo): Complete by calling
completion handler because we now sometimes request access info before calling gUM.
(WebKit::UserMediaPermissionCheckProxy::invalidate): Clear completion handler.
* UIProcess/UserMediaPermissionCheckProxy.h:

* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::FrameAuthorizationState::FrameAuthorizationState): Take security origins, not
UserMediaPermissionRequestProxy, so it can be constructed with a UserMediaPermissionCheckProxy.
(WebKit::FrameAuthorizationState::ensureSecurityOriginsAreEqual): Ditto. Clear has salt
when origins don't match.
(WebKit::UserMediaPermissionRequestManagerProxy::stateForRequest): Templatize.
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied): Fix typo.
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Ditto.
Don't set state for empty UIDs. Pass hash salt to web process.
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
The device ID hash salt is now required to validate constraints, so get it first.
(WebKit::UserMediaPermissionRequestManagerProxy::getUserMediaPermissionInfo): Helper
method used to get the device ID hash salt.
(WebKit::UserMediaPermissionRequestManagerProxy::enumerateMediaDevicesForFrame): Restructure
to use getUserMediaPermissionInfo.
(WebKit::UserMediaPermissionRequestManagerProxy::didCompleteUserMediaPermissionCheck): Deleted.
* UIProcess/UserMediaPermissionRequestManagerProxy.h:

* WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::userMediaAccessWasGranted): Add device ID
hash salt parameter.
* WebProcess/MediaStream/UserMediaPermissionRequestManager.h:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::userMediaAccessWasGranted): Ditto.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

* WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::createCaptureSource): Use new MediaConstraintsData
constructor.

LayoutTests:

* fast/mediastream/get-user-media-device-id-expected.txt: Added.
* fast/mediastream/get-user-media-device-id.html: Added.

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

3 years ago[GTK][Win] Web Inspector: Cann't open "Quick Open" dialog by pressing Ctrl+Shift+O
commit-queue@webkit.org [Wed, 10 May 2017 02:30:19 +0000 (02:30 +0000)]
[GTK][Win] Web Inspector: Cann't open "Quick Open" dialog by pressing Ctrl+Shift+O
https://bugs.webkit.org/show_bug.cgi?id=171798

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-05-09
Reviewed by Michael Catanzaro.

PC can't input the shortcut keys Command+Shift+O and Command+P.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded): Use CommandOrControl instead of Command.

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

3 years agoJSInjectedScriptHost should get a copy of the boundArgs
fpizlo@apple.com [Wed, 10 May 2017 01:01:26 +0000 (01:01 +0000)]
JSInjectedScriptHost should get a copy of the boundArgs
https://bugs.webkit.org/show_bug.cgi?id=171897

Reviewed by Joseph Pecoraro.

The boundArgs array is very special - it cannot be mutated in any way. So, it makes sense
for the inspector to get a copy of it.

* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::getInternalProperties):
* runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::boundArgsCopy):
* runtime/JSBoundFunction.h:
(JSC::JSBoundFunction::boundArgs):

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

3 years agoMark webrtc/libwebrtc/release-while-setting-local-description.html as flaky.
jlewis3@apple.com [Wed, 10 May 2017 00:33:36 +0000 (00:33 +0000)]
Mark webrtc/libwebrtc/release-while-setting-local-description.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171899

Unreviewed test gardening.

* platform/ios-wk2/TestExpectations:

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

3 years agoVideo fullscreen window level should be below status bar.
commit-queue@webkit.org [Wed, 10 May 2017 00:21:42 +0000 (00:21 +0000)]
Video fullscreen window level should be below status bar.
https://bugs.webkit.org/show_bug.cgi?id=171892
rdar://problem/31771707

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-05-09
Reviewed by Jer Noble.

No new tests because it only affects platform window level.

Move the fullscreen window below the status bar, but above the input field window level.

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setupFullscreen):

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

3 years agoUnindent some code in Watchdog::shouldTerminate().
mark.lam@apple.com [Wed, 10 May 2017 00:03:10 +0000 (00:03 +0000)]
Unindent some code in Watchdog::shouldTerminate().
https://bugs.webkit.org/show_bug.cgi?id=171896

Rubber stamped by Keith Miller.

I should have done this before I landed r213107, but I forgot.  Unindenting it now.

* runtime/Watchdog.cpp:
(JSC::Watchdog::shouldTerminate):

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

3 years agoMark webrtc/audio-replace-track.html as flaky.
jlewis3@apple.com [Tue, 9 May 2017 23:27:53 +0000 (23:27 +0000)]
Mark webrtc/audio-replace-track.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171895

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

3 years agowebkitpy: Remove unneeded crash log retrieval, refactor Darwin crash retrieval
jbedard@apple.com [Tue, 9 May 2017 23:19:07 +0000 (23:19 +0000)]
webkitpy: Remove unneeded crash log retrieval, refactor Darwin crash retrieval
https://bugs.webkit.org/show_bug.cgi?id=170857
<rdar://problem/31635373>

Reviewed by Aakash Jain.

Since LayoutTestRelay has been removed, iOS Simulators and Macs can use the same
code to search for crash logs.

* Scripts/webkitpy/port/darwin.py:
(DarwinPort._get_crash_log): Moved from MacPort.
* Scripts/webkitpy/port/darwin_testcase.py:
(DarwinTest.test_get_crash_log): Moved from MacTest.
* Scripts/webkitpy/port/ios_device.py:
(IOSDevicePort._get_crash_log): Implement pass-through for iOS device, since iOS
devices must search for crash-logs remotely.
* Scripts/webkitpy/port/ios_simulator.py:
(IOSSimulatorPort._get_crash_log): Deleted.
* Scripts/webkitpy/port/ios_simulator_unittest.py:
(IOSSimulatorTest.test_get_crash_log): Deleted.
* Scripts/webkitpy/port/mac.py:
(MacPort._get_crash_log): Moved to DarwinPort
* Scripts/webkitpy/port/mac_unittest.py:
(MacTest.test_get_crash_log): Moved to DarwinTest.

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

3 years agoBuffer media in NetworkProcess to reduce IPC overhead
commit-queue@webkit.org [Tue, 9 May 2017 23:14:33 +0000 (23:14 +0000)]
Buffer media in NetworkProcess to reduce IPC overhead
https://bugs.webkit.org/show_bug.cgi?id=171834
<rdar://problem/31485485>

Patch by Alex Christensen <achristensen@webkit.org> on 2017-05-09
Reviewed by Jer Noble.

I have measured a significant CPU usage reduction when buffering media data in the NetworkProcess,
especially on arm64 processors.  Buffering data in the NetworkProcess introduces no additional data
copies after r215686, and it reduces the number of messages sent from the NetworkProcess to the WebProcess,
each of which must also be forwarded to mediaserverd by AVFoundation.  This reduces the number of messages
from thousands per second to a maximum of 20 per second.  This adds 1/20 second additional latency in
media loading, which will probably not be noticed by most users.  This also adds the possibility of large
allocations when decoding IPC messages in the WebProcess, and if that becomes the source of crashes we can
add a maximum buffered amount in addition to a maximum buffered time, but we are likely not to receive
so much data in 1/20 second to have problems allocating the buffer.

* WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::maximumBufferingTime):
Buffer data in the NetworkProcess for up to 50ms before sending it to the WebProcess in one message.
This value is used in NetworkResourceLoader::didReceiveBuffer to append to m_bufferedData instead of
sending the small chunks immediately.

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

3 years agoFix Windows build.
dino@apple.com [Tue, 9 May 2017 23:00:10 +0000 (23:00 +0000)]
Fix Windows build.

* Plugins/PluginView.h:
* Plugins/PluginViewWin.cpp:
(WebCore::PluginView::paint):

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

3 years agoLayoutTests/imported/w3c:
weinig@apple.com [Tue, 9 May 2017 22:53:13 +0000 (22:53 +0000)]
LayoutTests/imported/w3c:
Implement Subresource Integrity (SRI)
https://bugs.webkit.org/show_bug.cgi?id=148363
<rdar://problem/18945879>

Reviewed by Youenn Fablet.

* web-platform-tests/fetch/api/basic/integrity-expected.txt:
* web-platform-tests/fetch/api/basic/integrity-worker-expected.txt:
Update results now that integrity is implemented.

Source/WebCore:
Implement Subresource Integrity (SRI) [Part 2 - Fetch]
https://bugs.webkit.org/show_bug.cgi?id=148363
<rdar://problem/18945879>

Reviewed by Youenn Fablet.

Tests: http/tests/subresource-integrity/sri-fetch-worker.html
       http/tests/subresource-integrity/sri-fetch.html

* loader/FetchOptions.h:
* loader/ThreadableLoader.cpp:
(WebCore::ThreadableLoaderOptions::isolatedCopy):
* loader/ThreadableLoader.h:
* loader/WorkerThreadableLoader.cpp:
(WebCore::LoaderTaskOptions::LoaderTaskOptions):
Add integrity metadata to the fetch options, and fix the implementation of
ThreadableLoaderOptions::isolatedCopy to work correctly (it was missing isolated
copy derivedCachedDataTypesToRetrieve).

* Modules/fetch/FetchRequest.cpp:
(WebCore::buildOptions):
(WebCore::FetchRequest::initializeOptions):
* Modules/fetch/FetchRequest.h:
Switch to using the integrity metadata on the fetchOptions, removing the need to
store them directly on the internal request.

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::didReceiveData):
(WebCore::DocumentThreadableLoader::didFinishLoading):
(WebCore::DocumentThreadableLoader::loadRequest):
(WebCore::DocumentThreadableLoader::reportIntegrityMetadataError):
* loader/DocumentThreadableLoader.h:
Add a new flag, m_delayCallbacksForIntegrityCheck, which is used when integrity metadata
is present, so we can implement the 'wait' concept from the fetch spec, and delay informing
the clients until we have validated the integrity metadata.

LayoutTests:
Implement Subresource Integrity (SRI)
https://bugs.webkit.org/show_bug.cgi?id=148363
<rdar://problem/18945879>

Reviewed by Youenn Fablet.

Add tests for Subresource Integrity for Fetch based off the ones from Web
Platform Tests. Additional tests for more CORS combinations have been added.

* http/tests/subresource-integrity/resources/crossorigin-anon-resource.txt: Added.
* http/tests/subresource-integrity/resources/crossorigin-creds-resource.txt: Added.
* http/tests/subresource-integrity/resources/crossorigin-ineligible-resource.txt: Added.
* http/tests/subresource-integrity/resources/resource.txt: Added.
* http/tests/subresource-integrity/sri-fetch-expected.txt: Added.
* http/tests/subresource-integrity/sri-fetch-worker-expected.txt: Added.
* http/tests/subresource-integrity/sri-fetch-worker.html: Added.
* http/tests/subresource-integrity/sri-fetch.html: Added.
* http/tests/subresource-integrity/sri-fetch.js: Added.

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

3 years agoMarked webrtc/captureCanvas-webrtc.html as flaky.
jlewis3@apple.com [Tue, 9 May 2017 22:52:05 +0000 (22:52 +0000)]
Marked webrtc/captureCanvas-webrtc.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=170870

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

3 years agoCap the number of FTL compilation threads on iOS to 2
msaboff@apple.com [Tue, 9 May 2017 22:38:41 +0000 (22:38 +0000)]
Cap the number of FTL compilation threads on iOS to 2
https://bugs.webkit.org/show_bug.cgi?id=171887

Reviewed by Filip Pizlo.

Set an iOS specific max of 2 threads.

* runtime/Options.h:

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