WebKit-https.git
2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 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

2 years agoUnreviewed, rolling out r216545.
commit-queue@webkit.org [Tue, 9 May 2017 22:35:58 +0000 (22:35 +0000)]
Unreviewed, rolling out r216545.
https://bugs.webkit.org/show_bug.cgi?id=171889

Caused a test failure (Requested by eric_carlson on #webkit).

Reverted changeset:

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

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

2 years agoresetFlowThreadContainingBlockAndChildInfoIncludingDescendants should not ignore...
zalan@apple.com [Tue, 9 May 2017 22:30:11 +0000 (22:30 +0000)]
resetFlowThreadContainingBlockAndChildInfoIncludingDescendants should not ignore RenderElement subtrees.
https://bugs.webkit.org/show_bug.cgi?id=171873
<rdar://problem/32004954>

Reviewed by Simon Fraser.

Source/WebCore:

Normally a RenderBlock's parent is another RenderBlock, but In some cases (e.g. tables) a RenderBlock can
have a non-RenderBlock(RenderBox) ancestor.
While updating the flow thread state on a subtree, we should descent into subtrees with RenderElement
roots and not just RenderBlocks so that we clear the state on the entire subtree.

Test: fast/multicol/crash-when-column-inside-table.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::resetFlowThreadContainingBlockAndChildInfoIncludingDescendants):
* rendering/RenderBlock.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::resetFlowThreadContainingBlockAndChildInfoIncludingDescendants):
* rendering/RenderElement.h:

LayoutTests:

* fast/multicol/crash-when-column-inside-table-expected.txt: Added.
* fast/multicol/crash-when-column-inside-table.html: Added.

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

2 years ago[iOS Simulator] Flaky failure LayoutTest/webrtc/libwebrtc/release-while-setting-local...
ryanhaddad@apple.com [Tue, 9 May 2017 22:28:36 +0000 (22:28 +0000)]
[iOS Simulator] Flaky failure LayoutTest/webrtc/libwebrtc/release-while-setting-local-description.html
https://bugs.webkit.org/show_bug.cgi?id=171742

Reviewed by Youenn Fablet.

Silence the console messages for unhandled rejections in this test.

* webrtc/libwebrtc/release-while-setting-local-description-expected.txt:
* webrtc/libwebrtc/release-while-setting-local-description.html:

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

2 years agoHeap::heap() should behave gracefully for null pointers
fpizlo@apple.com [Tue, 9 May 2017 22:27:06 +0000 (22:27 +0000)]
Heap::heap() should behave gracefully for null pointers
https://bugs.webkit.org/show_bug.cgi?id=171888
<rdar://problem/32005315>

Reviewed by Mark Lam.

Some callers of Heap::heap() can pass a null cell and they will behave gracefully if we
return a null Heap. So, let's do that.

This fixes a crash and it does not hurt performance. I'm seeing a possible 0.5% regression
with 74% probability. That's a neutral result by our usual 95% standard.

* heap/HeapInlines.h:
(JSC::Heap::heap):

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

2 years agoWeb Inspector: Assertion failed: Cannot select item with unexpected parent bar. ...
bburg@apple.com [Tue, 9 May 2017 22:18:53 +0000 (22:18 +0000)]
Web Inspector: Assertion failed: Cannot select item with unexpected parent bar. (at NavigationBar.js:132)
https://bugs.webkit.org/show_bug.cgi?id=171885

Reviewed by Matt Baker.

This new assertion revealed a real misuse of the NavigationBar API.

* UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar.prototype.set selectedNavigationItem):
Improve this to be an assertion so it can be paused at using the debugger.

* UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.prototype._changeViewMode):
We need to set a NavigationItem as the selected item, not its identifier.
Look up the corresponding item for the identifier that we received (the view mode).

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

2 years ago[MediaStream] deviceId constraint doesn't work with getUserMedia
eric.carlson@apple.com [Tue, 9 May 2017 22:06:13 +0000 (22:06 +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@216545 268f45cc-cd09-0410-ab3c-d52691b4dbfc

2 years ago[Modern Media Controls] Localized strings aren't loaded
commit-queue@webkit.org [Tue, 9 May 2017 21:52:53 +0000 (21:52 +0000)]
[Modern Media Controls] Localized strings aren't loaded
https://bugs.webkit.org/show_bug.cgi?id=171884

Patch by Antoine Quint <graouts@apple.com> on 2017-05-09
Reviewed by Dean Jackson.

Remove the extraneous file extension in the file name.

* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::mediaControlsScript):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsScript):

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

2 years agoMarked multiple test flaky.
jlewis3@apple.com [Tue, 9 May 2017 21:49:27 +0000 (21:49 +0000)]
Marked multiple test flaky.
https://bugs.webkit.org/show_bug.cgi?id=171886

Unreviewed test gardening.

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

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

2 years agoIntroduce DocumentAndElementEventHandlers IDL interface
cdumez@apple.com [Tue, 9 May 2017 21:40:11 +0000 (21:40 +0000)]
Introduce DocumentAndElementEventHandlers IDL interface
https://bugs.webkit.org/show_bug.cgi?id=171879

Reviewed by Simon Fraser and Ryosuke Niwa.

Source/WebCore:

Introduce DocumentAndElementEventHandlers IDL interface:
- https://html.spec.whatwg.org/#documentandelementeventhandlers

This avoids duplication between Document.idl and Element.idl.

Also mark oncopy / oncut / onpaste EventHandlers as enumerable to match
the specification.

Test: fast/events/DocumentAndElementEventHandlers.html

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.idl:
* dom/DocumentAndElementEventHandlers.idl: Added.
* dom/Element.idl:

LayoutTests:

* fast/events/DocumentAndElementEventHandlers-expected.txt: Added.
* fast/events/DocumentAndElementEventHandlers.html: Added.
Add layout test coverage.

* js/dom/dom-static-property-for-in-iteration-expected.txt:
Rebaseline now that those event handlers are enumerable.

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

2 years agoRestrict SVG filters to accessible security origins
dino@apple.com [Tue, 9 May 2017 21:35:55 +0000 (21:35 +0000)]
Restrict SVG filters to accessible security origins
https://bugs.webkit.org/show_bug.cgi?id=118689
<rdar://problem/27362159>

Reviewed by Brent Fulgham.

Source/WebCore:

Certain SVG filters should only be allowed to operate
on content that is has SecurityOrigin access to. Implement
this by including a flag in PaintInfo and LayerPaintingInfo,
and have RenderWidget make sure the documents have acceptable
SecurityOrigins as it goes to paint.

This could be used as the first step in a "safe painting"
strategy, allowing some content to be rendered into a
canvas or via the element() CSS function... but it is only
a small first step.

Test: http/tests/css/filters-on-iframes.html

* page/FrameView.cpp:
(WebCore::FrameView::paintContents):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::paint):
* platform/ScrollView.h:
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::paint):
* platform/Scrollbar.h:
* platform/Widget.h:
* platform/graphics/filters/FilterOperation.h:
(WebCore::FilterOperation::shouldBeRestrictedBySecurityOrigin):
* platform/graphics/filters/FilterOperations.cpp:
(WebCore::FilterOperations::hasFilterThatShouldBeRestrictedBySecurityOrigin):
* platform/graphics/filters/FilterOperations.h:
* platform/mac/WidgetMac.mm:
(WebCore::Widget::paint):
* rendering/FilterEffectRenderer.cpp:
(WebCore::FilterEffectRenderer::build):
* rendering/FilterEffectRenderer.h:
* rendering/PaintInfo.h:
(WebCore::PaintInfo::PaintInfo):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
* rendering/RenderLayer.h:
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::paint):
* rendering/RenderScrollbar.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::paintContents):

Source/WebKit2:

Update parameter lists.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::paint):
* WebProcess/Plugins/PluginView.h:

LayoutTests:

Add a test that shows safe frames, unsafe frames, and
then a safe frame that itself has an unsafe frame, to
show that the security requirements are being forwarded
down the tree.

* http/tests/css/filters-on-iframes-expected.html: Added.
* http/tests/css/filters-on-iframes.html: Added.
* http/tests/css/resources/blank.html: Added.
* http/tests/css/resources/references-external.html: Added.
* http/tests/css/resources/solid-red.html: Added.

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

2 years agoMove onanimation* EventHandlers to GlobalEventHandlers
cdumez@apple.com [Tue, 9 May 2017 21:21:04 +0000 (21:21 +0000)]
Move onanimation* EventHandlers to GlobalEventHandlers
https://bugs.webkit.org/show_bug.cgi?id=171874

Reviewed by Simon Fraser.

Source/WebCore:

Move onanimation* EventHandlers to GlobalEventHandlers to match the specification:
- https://drafts.csswg.org/css-animations/#interface-globaleventhandlers-idl

We previously have those on Window and Element only. Firefox complies with the
specification.

Test: fast/css/onanimation-eventhandlers.html

* dom/Element.idl:
* dom/GlobalEventHandlers.idl:
* page/DOMWindow.idl:

LayoutTests:

* fast/css/onanimation-eventhandlers-expected.txt: Added.
* fast/css/onanimation-eventhandlers.html: Added.
Add layout test coverage.

* fast/dom/event-handler-attributes-expected.txt:
* fast/dom/event-handler-attributes.html:
* js/dom/dom-static-property-for-in-iteration-expected.txt:
Rebaseline existing tests to reflect behavior change.

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

2 years agoFixed a typo in expectations file.
jlewis3@apple.com [Tue, 9 May 2017 21:04:31 +0000 (21:04 +0000)]
Fixed a typo in expectations file.
https://bugs.webkit.org/show_bug.cgi?id=162710

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

2 years ago[ARES6] Improved the running test indicator
jond@apple.com [Tue, 9 May 2017 21:01:57 +0000 (21:01 +0000)]
[ARES6] Improved the running test indicator
https://bugs.webkit.org/show_bug.cgi?id=171400

Running tests show a triangle before the test title and the titles are white.

Reviewed by Joseph Pecoraro.

* ARES-6/index.html:
* ARES-6/styles.css:
(.test .running):
(.test .running:before):
(.test .indicator): Deleted.
(.test .indicator.running): Deleted.
(@keyframes test-running): Deleted.

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

2 years agoRefresh webrtc WPT tests
commit-queue@webkit.org [Tue, 9 May 2017 20:58:04 +0000 (20:58 +0000)]
Refresh webrtc WPT tests
https://bugs.webkit.org/show_bug.cgi?id=171878

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

LayoutTests/imported/w3c:

* resources/import-expectations.json:
* web-platform-tests/webrtc/OWNERS:
* web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize-expected.txt: Added.
* web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html: Added.
* web-platform-tests/webrtc/RTCDataChannel-id-expected.txt: Added.
* web-platform-tests/webrtc/RTCDataChannel-id.html: Added.
* web-platform-tests/webrtc/RTCPeerConnection-canTrickleIceCandidates-expected.txt: Added.
* web-platform-tests/webrtc/RTCPeerConnection-canTrickleIceCandidates.html: Added.
* web-platform-tests/webrtc/RTCPeerConnection-constructor-expected.txt: Added.
* web-platform-tests/webrtc/RTCPeerConnection-constructor.html: Added.
* web-platform-tests/webrtc/RTCPeerConnection-createDataChannel-expected.txt: Added.
* web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html: Added.
* web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState-expected.txt: Added.
* web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html: Added.
* web-platform-tests/webrtc/RTCPeerConnection-idl-expected.txt: Added.
* web-platform-tests/webrtc/RTCPeerConnection-idl.html: Added.
* web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-expected.txt: Added.
* web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription.html: Added.
* web-platform-tests/webrtc/datachannel-idlharness-expected.txt: Added.
* web-platform-tests/webrtc/datachannel-idlharness.html: Added.
* web-platform-tests/webrtc/getstats-expected.txt: Added.
* web-platform-tests/webrtc/getstats.html: Added.
* web-platform-tests/webrtc/interfaces-expected.txt: Added.
* web-platform-tests/webrtc/interfaces.html: Added.
* web-platform-tests/webrtc/no-media-call.html:
* web-platform-tests/webrtc/promises-call.html:
* web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl-expected.txt:
* web-platform-tests/webrtc/simplecall.html:
* web-platform-tests/webrtc/w3c-import.log:

Source/WebCore:

Tests: imported/w3c/web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html
       imported/w3c/web-platform-tests/webrtc/RTCDataChannel-id.html
       imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-canTrickleIceCandidates.html
       imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-constructor.html
       imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-createDataChannel.html
       imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-iceGatheringState.html
       imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-idl.html
       imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription.html
       imported/w3c/web-platform-tests/webrtc/datachannel-idlharness.html
       imported/w3c/web-platform-tests/webrtc/getstats.html
       imported/w3c/web-platform-tests/webrtc/interfaces.html

* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::createDataChannel): exiting early if libwebrtc is not creating a data channel.

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

2 years agospace-evenly misbehaves with flexbox
jfernandez@igalia.com [Tue, 9 May 2017 20:48:20 +0000 (20:48 +0000)]
space-evenly misbehaves with flexbox
https://bugs.webkit.org/show_bug.cgi?id=170445

Reviewed by David Hyatt.

Source/WebCore:

The CSS Box Alignment specification defines the <content-distribution>
set as some of the allowed values for the Content Distribution
properties, align-content and justify-content. The 'space-evenly' value
is not among the ones allowed for these properties according to the CSS
Flexible Box specification.

The CSS Flexbible box specification states that it must follow the CSS
Box Alignment specification, so this new value must be considered as
part of an upgraded level of the spec, which should be implemented
eventually.

Since we have already shipped an implementation of the new CSS Box
Alignment values for CSS Grid Layout, we need to implement it for
Flexbox as well.

No new tests, but several new test cases added.

* rendering/RenderFlexibleBox.cpp:
(WebCore::initialJustifyContentOffset):
(WebCore::justifyContentSpaceBetweenChildren):
(WebCore::initialAlignContentOffset):
(WebCore::alignContentSpaceBetweenChildren):

LayoutTests:

Added test cases for the 'space-evenly' value for align-content and justify-content.

* css3/flexbox/alignContent-applies-with-flexWrap-wrap-with-single-line-expected.txt:
* css3/flexbox/alignContent-applies-with-flexWrap-wrap-with-single-line.html:
* css3/flexbox/css-properties-expected.txt:
* css3/flexbox/css-properties.html:
* css3/flexbox/flex-justify-content-expected.txt:
* css3/flexbox/flex-justify-content.html:
* css3/flexbox/multiline-align-content-expected.txt:
* css3/flexbox/multiline-align-content-horizontal-column-expected.txt:
* css3/flexbox/multiline-align-content-horizontal-column.html:
* css3/flexbox/multiline-align-content.html:
* css3/flexbox/resources/flexbox.css:
(.align-content-space-around):
(.justify-content-space-around):
* css3/flexbox/true-centering-expected.txt:
* css3/flexbox/true-centering.html:

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

2 years agoAvoid -Wformat warnings in RenderLayerCompositor.cpp and RenderLayerBacking.cpp
mcatanzaro@igalia.com [Tue, 9 May 2017 20:24:36 +0000 (20:24 +0000)]
Avoid -Wformat warnings in RenderLayerCompositor.cpp and RenderLayerBacking.cpp
https://bugs.webkit.org/show_bug.cgi?id=171875

Reviewed by Simon Fraser.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

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

2 years agoDrop custom bindings code for Window.location setter
cdumez@apple.com [Tue, 9 May 2017 20:01:05 +0000 (20:01 +0000)]
Drop custom bindings code for Window.location setter
https://bugs.webkit.org/show_bug.cgi?id=171846

Reviewed by Sam Weinig.

Drop custom bindings code for Window.location setter as the custom code was merely needed
to address a very old Mac widget that has long been fixed (rdar://problem/5695330).

No new tests, no Web-facing behavior change.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation): Deleted.
Drop custom code.

* page/DOMWindow.idl:
Align Window.location with https://html.spec.whatwg.org/#the-window-object:
- Mark property as readonly.
- Add [PutsForward=href] IDL extended attribute.
Also, we need to mark the atribute as nullable as this reflects our current implementation.
We currently return null if the associated Window does not have a frame. This does not match
the specification and we should update our implementation in the future to never return null.

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

2 years agoUnreviewed, rolling out r216508.
jlewis3@apple.com [Tue, 9 May 2017 19:15:31 +0000 (19:15 +0000)]
Unreviewed, rolling out r216508.

The layout test enabled in this change is failing on Sierra.

Reverted changeset:

"Invalid MediaSource duration value should throw TyperError
instead of InvalidStateError"
https://bugs.webkit.org/show_bug.cgi?id=171653
http://trac.webkit.org/changeset/216508

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

2 years agoUpdate Chrome and Firefox versions in user agent quirks
mcatanzaro@igalia.com [Tue, 9 May 2017 18:44:34 +0000 (18:44 +0000)]
Update Chrome and Firefox versions in user agent quirks
https://bugs.webkit.org/show_bug.cgi?id=171823

Reviewed by Carlos Alberto Lopez Perez.

* platform/UserAgentQuirks.cpp:
(WebCore::UserAgentQuirks::stringForQuirk):
(WebCore::UserAgentQuirks::firefoxRevisionString):

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

2 years agoRealtimeOutgoingAudioSource is crashing when given data with more than two channels
commit-queue@webkit.org [Tue, 9 May 2017 18:42:47 +0000 (18:42 +0000)]
RealtimeOutgoingAudioSource is crashing when given data with more than two channels
https://bugs.webkit.org/show_bug.cgi?id=171868

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

Manual testing.

* platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:
(WebCore::libwebrtcAudioFormat): Capping the number of channels to 2.
(WebCore::RealtimeOutgoingAudioSource::audioSamplesAvailable):

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

2 years agoMarked media/element-containing-pip-video-going-into-fullscreen.html as flaky.
jlewis3@apple.com [Tue, 9 May 2017 18:34:27 +0000 (18:34 +0000)]
Marked media/element-containing-pip-video-going-into-fullscreen.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=162710

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

2 years agobuild ImageDiff with host SDK from Make
jbedard@apple.com [Tue, 9 May 2017 18:07:19 +0000 (18:07 +0000)]
build ImageDiff with host SDK from Make
https://bugs.webkit.org/show_bug.cgi?id=171835

Reviewed by Alexey Proskuryakov.

ImageDiff should be built for the default SDK and default architecture when
the SDKROOT is set to either iOS device or iOS simulator. Check the
DO_NOT_BUILD_IMAGE_DIFF flag to skip the ImageDiff build.

* ImageDiff/Makefile: Use Mac SDK when building for iOS Simulator or iOS device.
* Makefile: Do not build ImageDiff if the DO_NOT_BUILD_IMAGE_DIFF flag is set.

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

2 years agofont-stretch: normal selects expanded fonts instead of condensed fonts
mmaxfield@apple.com [Tue, 9 May 2017 18:02:12 +0000 (18:02 +0000)]
font-stretch: normal selects expanded fonts instead of condensed fonts
https://bugs.webkit.org/show_bug.cgi?id=171838
<rdar://problem/31005481>

Reviewed by Jon Lee.

Source/WebCore:

CSS Fonts level 3 says: "If the value of ‘font-stretch’ is ‘normal’ or one of the condensed
values, narrower width values are checked first, then wider values."

CSS Fonts level 4 erroneously was incompatible with this, but was updated in
https://github.com/w3c/csswg-drafts/commit/4559389d183bbaaf3321af5ba1c924caa7c488bb
to be consistent with this.

Now, CSS Fonts level 4 states: "If the desired stretch value is less than or equal to100,
stretch values below the desired stretch value are checked in descending order followed by
stretch values above the desired stretch value in ascending order"

Test: fast/text/font-width-100.html

* platform/graphics/FontSelectionAlgorithm.cpp:

LayoutTests:

* fast/text/font-width-100-expected.html: Added.
* fast/text/font-width-100.html: Added.

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

2 years agoMark storage/indexeddb/modern/idbtransaction-objectstore-failures.html as flaky.
jlewis3@apple.com [Tue, 9 May 2017 17:36:37 +0000 (17:36 +0000)]
Mark storage/indexeddb/modern/idbtransaction-objectstore-failures.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=171862

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

2 years agoUnreviewed, adding myself to contributors.json
jlewis3@apple.com [Tue, 9 May 2017 17:34:16 +0000 (17:34 +0000)]
Unreviewed, adding myself to contributors.json

* Scripts/webkitpy/common/config/contributors.json:

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