WebKit-https.git
6 years agoExtend fast-clicking behavior to trigger on elements that have negligible zoom
wenson_hsieh@apple.com [Mon, 19 Oct 2015 19:53:45 +0000 (19:53 +0000)]
Extend fast-clicking behavior to trigger on elements that have negligible zoom
https://bugs.webkit.org/show_bug.cgi?id=150248
<rdar://problem/23140069>

Reviewed by Simon Fraser.

Currently, fast-clicking only triggers on pages that have unscalable viewports. To allow more websites to benefit from fast-clicking
behavior, we generalize fast-clicking to also occur when tapping on elements for which double-tap-to-zoom would zoom the element in
or out by an insignificant amount. We define an insignificant amount of zoom to mean that zooming would increase the viewport scale
by less than a configurable threshold, or decrease the viewport scale by more than a configurable threshold. We accomplish this by
temporarily disabling the double tap gesture recognizer for the duration of the tap. This patch refactors some logic used to compute
zoomed viewports to make it possible to predict the change in viewport scale when double tapping to zoom. See the changes in
SmartMagnificationController and ViewGestureGeometryCollector for more details.

There are no new tests, since this patch does not change existing behavior. Instead, this patch adds the machinery needed for zoom-
dependent fast-clicking: by setting the preferences WebKitFastClickingEnabled and WebKitFastClickZoomThreshold, we will be able to tweak
the behavior dynamically.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _contentZoomScale]):
(-[WKWebView _targetContentZoomScaleForRect:currentScale:fitEntireRect:minimumScale:maximumScale:]):
(-[WKWebView _zoomToRect:withOrigin:fitEntireRect:minimumScale:maximumScale:minimumScrollDistance:]):
(-[WKWebView _viewportIsUserScalable]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary):
* UIProcess/ios/SmartMagnificationController.h:
* UIProcess/ios/SmartMagnificationController.mm:
(WebKit::SmartMagnificationController::adjustSmartMagnificationTargetRectAndZoomScales):
(WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
(WebKit::SmartMagnificationController::magnify):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
(-[WKContentView _fastClickZoomThreshold]):
(-[WKContentView _allowDoubleTapToZoomForCurrentZoomScale:andTargetZoomScale:]):
(-[WKContentView _disableDoubleTapGesturesUntilTapIsFinishedIfNecessary:allowsDoubleTapZoom:targetRect:isReplaced:minimumScale:maximumScale:]):
(-[WKContentView _highlightLongPressRecognized:]):
(-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
(-[WKContentView _singleTapRecognized:]):
(cancelPotentialTapIfNecessary):
(-[WKContentView _singleTapCommited:]):
(-[WKContentView webSelectionRects]): Deleted.
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::disableDoubleTapGesturesUntilTapIsFinishedIfNecessary):
* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
(WebKit::ViewGestureGeometryCollector::computeZoomInformationForNode):
* WebProcess/WebPage/ViewGestureGeometryCollector.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::potentialTapAtPosition):

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

6 years agoAdd new EWS queues to bot watcher's dashboard
ap@apple.com [Mon, 19 Oct 2015 19:37:48 +0000 (19:37 +0000)]
Add new EWS queues to bot watcher's dashboard
https://bugs.webkit.org/show_bug.cgi?id=150297

Reviewed by Darin Adler.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):

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

6 years agoWKView being inside WKWebView leads to weird API issues
timothy_horton@apple.com [Mon, 19 Oct 2015 19:23:57 +0000 (19:23 +0000)]
WKView being inside WKWebView leads to weird API issues
https://bugs.webkit.org/show_bug.cgi?id=150174

Reviewed by Darin Adler.

No new tests, just moving code around.

* WebCore.xcodeproj/project.pbxproj:
* platform/spi/mac/NSWindowSPI.h: Added.

* UIProcess/API/mac/WKView.mm:
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/Cocoa/WebViewImpl.h: Added.
* UIProcess/Cocoa/WebViewImpl.mm: Added.
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::setDrawsBackground):
(WebKit::WebViewImpl::drawsBackground):
(WebKit::WebViewImpl::setDrawsTransparentBackground):
(WebKit::WebViewImpl::drawsTransparentBackground):
(WebKit::WebViewImpl::acceptsFirstResponder):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::resignFirstResponder):
(WebKit::WebViewImpl::isFocused):
(WebKit::WebViewImpl::viewWillStartLiveResize):
(WebKit::WebViewImpl::viewDidEndLiveResize):
(WebKit::WebViewImpl::setFrameSize):
(WebKit::WebViewImpl::disableFrameSizeUpdates):
(WebKit::WebViewImpl::enableFrameSizeUpdates):
(WebKit::WebViewImpl::frameSizeUpdatesDisabled):
(WebKit::WebViewImpl::setFrameAndScrollBy):
(WebKit::WebViewImpl::setFixedLayoutSize):
(WebKit::WebViewImpl::fixedLayoutSize):
(WebKit::WebViewImpl::setDrawingAreaSize):
(WebKit::WebViewImpl::setContentPreparationRect):
(WebKit::WebViewImpl::updateViewExposedRect):
(WebKit::WebViewImpl::setClipsToVisibleRect):
(WebKit::WebViewImpl::setIntrinsicContentSize):
(WebKit::WebViewImpl::intrinsicContentSize):
(WebKit::WebViewImpl::setViewScale):
(WebKit::WebViewImpl::viewScale):
(WebKit::WebViewImpl::layoutMode):
(WebKit::WebViewImpl::setLayoutMode):
(WebKit::WebViewImpl::supportsArbitraryLayoutModes):
(WebKit::WebViewImpl::updateSupportsArbitraryLayoutModes):
(WebKit::WebViewImpl::updateSecureInputState):
(WebKit::WebViewImpl::resetSecureInputState):
(WebKit::WebViewImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::WebViewImpl::hasFullScreenWindowController):
(WebKit::WebViewImpl::fullScreenWindowController):
(WebKit::WebViewImpl::closeFullScreenWindowController):
(WebKit::WebViewImpl::fullScreenPlaceholderView):
(WebKit::WebViewImpl::createFullScreenWindow):
Move the actual implementation of a number of WKView methods into a
C++ class, WebViewImpl, which WKView calls directly into.
Eventually, we will move all of the logic of WKView into WebViewImpl,
and then duplicate the necessary forwarding in WKWebView and remove
WKWebView's inner WKView.

* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::isViewFocused):
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::updateSecureInputState):
(WebKit::PageClientImpl::resetSecureInputState):
(WebKit::PageClientImpl::notifyInputContextAboutDiscardedComposition):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
For now, forward PageClient requests that can be answered by WebViewImpl
to WebViewImpl. Eventually, we'll probably fold PageClientImpl and WebViewImpl
together into one class, and these things will collapse down.

* UIProcess/mac/WKFullScreenWindowController.h:
* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController initWithWindow:webView:page:]):
(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController exitFullScreen]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
(-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
(-[WKFullScreenWindowController _manager]):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController initWithWindow:webView:]): Deleted.
(-[WKFullScreenWindowController _page]): Deleted.
* UIProcess/mac/WKViewLayoutStrategy.h:
* UIProcess/mac/WKViewLayoutStrategy.mm:
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:viewImpl:mode:]):
(-[WKViewLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewLayoutStrategy invalidate]):
(-[WKViewLayoutStrategy didChangeFrameSize]):
(-[WKViewViewSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:viewImpl:mode:]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy updateLayout]):
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy didChangeFrameSize]):
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:viewImpl:mode:]):
(+[WKViewLayoutStrategy layoutStrategyWithPage:view:mode:]): Deleted.
(-[WKViewLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewLayoutStrategy willDestroyView:]): Deleted.
(-[WKViewViewSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewFixedSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeComputedFromViewScaleLayoutStrategy initWithPage:view:mode:]): Deleted.
(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy initWithPage:view:mode:]): Deleted.
Make WKViewLayoutStrategy and WKFullScreenWindowController operate in terms of generic
NSViews instead of WKView, so that eventually they will be able to work for either
WKView or WKWebView, and so that they can sit underneath WebViewImpl.

* WebKit2.xcodeproj/project.pbxproj:

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

6 years ago[WK2] Generalize NetworkCacheStorage API so it can store different types of metadata
cdumez@apple.com [Mon, 19 Oct 2015 19:21:22 +0000 (19:21 +0000)]
[WK2] Generalize NetworkCacheStorage API so it can store different types of metadata
https://bugs.webkit.org/show_bug.cgi?id=150221
<rdar://problem/23149771>

Reviewed by Darin Adler and Antti Koivisto.

Generalize NetworkCacheStorage API so it can store different types of
metadata alongside the network resources. This is a pre-requirement to
making our NetworkCache smarter by storing information about the
resources.

To keep the code simple, the entry type is now part of the entry key and
we store records of a specific type in a 'type' subfolder. The cache
structure looks like so:
- WebKitCache/Version 5/[Partition]/[Type]/[Hash]
- WebKitCache/Version 5/[Partition]/[Type]/[Hash]-blob (Optional)

Existing cache entries now that the 'resource' type as these are network
resources.

* NetworkProcess/cache/NetworkCache.cpp:
* NetworkProcess/cache/NetworkCacheKey.cpp:
* NetworkProcess/cache/NetworkCacheKey.h:
* NetworkProcess/cache/NetworkCacheStatistics.cpp:
* NetworkProcess/cache/NetworkCacheStorage.cpp:
* NetworkProcess/cache/NetworkCacheStorage.h:

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

6 years agoTry to fix the iOS build
timothy_horton@apple.com [Mon, 19 Oct 2015 19:19:09 +0000 (19:19 +0000)]
Try to fix the iOS build

* Configurations/FeatureDefines.xcconfig:

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

6 years agoRebaselining fast/dynamic/insert-before-table-part-in-continuation.html for win
commit-queue@webkit.org [Mon, 19 Oct 2015 19:11:46 +0000 (19:11 +0000)]
Rebaselining fast/dynamic/insert-before-table-part-in-continuation.html for win
https://bugs.webkit.org/show_bug.cgi?id=150126

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-19
Reviewed by Zalan Bujtas.

* platform/win/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:

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

6 years agoTry to fix the 32-bit build.
timothy_horton@apple.com [Mon, 19 Oct 2015 19:09:14 +0000 (19:09 +0000)]
Try to fix the 32-bit build.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):

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

6 years agoFix image service menus somewhat
andersca@apple.com [Mon, 19 Oct 2015 18:59:16 +0000 (18:59 +0000)]
Fix image service menus somewhat
https://bugs.webkit.org/show_bug.cgi?id=150265

Reviewed by Tim Horton.

* Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
It's a service menu if we have a controlled image.

* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
Use an item provider.

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

6 years agoUnreviewed build fix after r191295.
achristensen@apple.com [Mon, 19 Oct 2015 18:50:26 +0000 (18:50 +0000)]
Unreviewed build fix after r191295.

* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::clipOut):
* platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
(WebCore::GraphicsContextPlatformPrivate::save):
(WebCore::GraphicsContextPlatformPrivate::restore):
(WebCore::GraphicsContextPlatformPrivate::flush):
(WebCore::GraphicsContextPlatformPrivate::clip):
(WebCore::GraphicsContextPlatformPrivate::scalePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::rotatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::translatePlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::syncContext):
(WebCore::GraphicsContextPlatformPrivate::scale): Deleted.
(WebCore::GraphicsContextPlatformPrivate::rotate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::translate): Deleted.
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.

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

6 years agoAdd regression tests for TypedArray.prototype functions' error messages.
keith_miller@apple.com [Mon, 19 Oct 2015 18:32:30 +0000 (18:32 +0000)]
Add regression tests for TypedArray.prototype functions' error messages.
https://bugs.webkit.org/show_bug.cgi?id=150288

Reviewed by Darin Adler.

Fix a typo in the text passed by TypedArrray.prototype.filter type error message.
Add tests that check the actual error message text for all the TypeArray.prototype
functions that throw.

* builtins/TypedArray.prototype.js:
(filter):
* tests/stress/typedarray-every.js:
* tests/stress/typedarray-filter.js:
* tests/stress/typedarray-find.js:
* tests/stress/typedarray-findIndex.js:
* tests/stress/typedarray-forEach.js:
* tests/stress/typedarray-map.js:
* tests/stress/typedarray-reduce.js:
* tests/stress/typedarray-reduceRight.js:
* tests/stress/typedarray-some.js:

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

6 years agoAdd magnify and rotate gesture event support for Mac
timothy_horton@apple.com [Mon, 19 Oct 2015 18:10:58 +0000 (18:10 +0000)]
Add magnify and rotate gesture event support for Mac
https://bugs.webkit.org/show_bug.cgi?id=150179
<rdar://problem/8036240>

Reviewed by Darin Adler.

No new tests.

* Configurations/FeatureDefines.xcconfig:
New feature flag.

* Configurations/WebCore.xcconfig:
Don't exclude generated gesture sources; they are already #ifdef-guarded.

* DerivedSources.make:
Add GestureEvent.idl for ENABLE_MAC_GESTURE_EVENTS too.

* WebCore.xcodeproj/project.pbxproj:
Add GestureEvents.cpp.

* bindings/objc/DOMEvents.mm:
(kitClass):
Support DOMGestureEvent on Mac if the new flag is enabled.

* dom/mac/GestureEvents.cpp: Added.
* page/mac/EventHandlerMac.mm:

* page/EventHandler.cpp:
(WebCore::EventHandler::clear):
* page/EventHandler.h:
Enable some gesture-related code on Mac if the new flag is enabled.

* platform/PlatformEvent.h:

* Configurations/FeatureDefines.xcconfig:
New feature flag.

* Shared/NativeWebGestureEvent.h: Added.
(WebKit::NativeWebGestureEvent::nativeEvent):
* Shared/WebEvent.h:
* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
(WebKit::platform):
* Shared/WebEventConversion.h:
* Shared/mac/NativeWebGestureEventMac.mm: Added.
(WebKit::webEventTypeForNSEvent):
(WebKit::pointForEvent):
(WebKit::NativeWebGestureEvent::NativeWebGestureEvent):
Add and plumb a new native event that wraps a NSEvent of type
NSEventTypeMagnify or NSEventTypeRotate (gesture events).

* Shared/mac/WebGestureEvent.cpp: Added.
(WebKit::WebGestureEvent::encode):
(WebKit::WebGestureEvent::decode):
(WebKit::WebGestureEvent::isGestureEventType):
* Shared/mac/WebGestureEvent.h: Added.
(WebKit::WebGestureEvent::WebGestureEvent):
(WebKit::WebGestureEvent::position):
(WebKit::WebGestureEvent::gestureScale):
(WebKit::WebGestureEvent::gestureRotation):
Add IPC plumbing for WebGestureEvent, which becomes a WebCore::PlatformGestureEvent.

* UIProcess/API/Cocoa/WKViewPrivate.h:
Remove unnecessary iPhone-only WKView code.
Add _gestureEventWasNotHandledByWebCore, SPI which can be overridden
to react when WebCore decides not to handle a gesture event.

* UIProcess/API/mac/WKView.mm:
(-[WKView magnifyWithEvent:]):
Route magnification gesture events to the page, unless we're already
in an active view zoom gesture, in which case we'll bypass the page
and send the event straight to ViewGestureController.

(-[WKView rotateWithEvent:]):
Route rotation gesture events to the page.

(-[WKView _gestureEventWasNotHandledByWebCore:]):
Let ViewGestureController know that WebCore didn't handle a gesture event.
We always give WebCore the first crack at the event if we're not in a zoom,
because it could preventDefault() on the Begin phase event, and that should
prevent pinch-zoom from starting.

* UIProcess/PageClient.h:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::gestureEventWasNotHandledByWebCore):
Plumb gestureEventWasNotHandledByWebCore back from WebPageProxy to WKView.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleGestureEvent):
(WebKit::WebPageProxy::didReceiveEvent):
* UIProcess/WebPageProxy.h:
Forward gesture events to EventDispatcher, and let WKView know when WebCore
passes on handling them.

* UIProcess/mac/ViewGestureController.h:
(WebKit::ViewGestureController::hasActiveMagnificationGesture):
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::gestureEventWasNotHandledByWebCore):
(WebKit::ViewGestureController::handleMagnificationGestureEvent):
Don't try to start a zoom with anything other than a Begin phase event.
Try to start a zoom with any events that WebCore doesn't handle.
Move dispatch of endMagnificationGesture into ViewGestureController;
there is no reason for that to be in WKView anymore.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::gestureEvent):
(WebKit::EventDispatcher::dispatchGestureEvent):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::handleGestureEvent):
(WebKit::WebPage::gestureEvent):
* WebProcess/WebPage/WebPage.h:
Dispatch to the main thread and hand off the gesture event to WebCore,
asynchronously informing the UI process of whether the event was handled or not.

* Configurations/FeatureDefines.xcconfig:
New feature flag.

* Configurations/FeatureDefines.xcconfig:
New feature flag.

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

6 years agoREGRESSION(r190262): User media unit test failures after r190262
changseok.oh@collabora.com [Mon, 19 Oct 2015 18:01:07 +0000 (18:01 +0000)]
REGRESSION(r190262): User media unit test failures after r190262
https://bugs.webkit.org/show_bug.cgi?id=149580

Reviewed by Carlos Garcia Campos.

The test failures on usermedia-permission-requests and WebKit2.UserMediaBasic have gone.
So we do not need to skip them anymore.

* Scripts/run-gtk-tests:
(TestRunner): Deleted.

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

6 years ago[iOS] Build fix after r191295
mmaxfield@apple.com [Mon, 19 Oct 2015 17:58:49 +0000 (17:58 +0000)]
[iOS] Build fix after r191295

Unreviewed.

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::resetPlatformCTM):

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

6 years agoRemoving Yosemite-only flag for flaky test http/tests/media/video-query-url.html
commit-queue@webkit.org [Mon, 19 Oct 2015 17:54:46 +0000 (17:54 +0000)]
Removing Yosemite-only flag for flaky test http/tests/media/video-query-url.html
https://bugs.webkit.org/show_bug.cgi?id=141085

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-19
Reviewed by Alexey Proskuryakov.

* platform/mac-wk2/TestExpectations:

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

6 years agoHost GraphicsContext's CTM inside GraphicsContextState
mmaxfield@apple.com [Mon, 19 Oct 2015 17:28:41 +0000 (17:28 +0000)]
Host GraphicsContext's CTM inside GraphicsContextState
https://bugs.webkit.org/show_bug.cgi?id=150146

Reviewed by Simon Fraser.

There are 6 operations which interact with CTMs:
- Get
- Set
- Concatenate
- Scale
- Rotate
- Translate

This patch modifies all these operations so that these operations shadow the
platform's CTM inside GraphicsContextState. This way, we don't have to consult
with the underlying graphics context in order to know the current CTM.

There are currently many places in the Core Graphics ports where we will change
the platform's CTM out from under the GraphicsContext. This patch migrates
those users to going through GraphicsContext, thereby preserving the integrity
of the shadowed state.

No new tests because there is no behavior change.

* platform/graphics/GraphicsContext.cpp: Setters deletate to platform calls.
The getter can just consult with the shadowed state.
(WebCore::GraphicsContext::concatCTM):
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::rotate):
(WebCore::GraphicsContext::translate):
(WebCore::GraphicsContext::setCTM):
(WebCore::GraphicsContext::getCTM):
(WebCore::GraphicsContext::beginTransparencyLayer):
(WebCore::GraphicsContext::applyDeviceScaleFactor):
* platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::scale):
(WebCore::GraphicsContext::checkCTMInvariants): Make sure the shadowed state
matches the platform graphics context's state.
* platform/graphics/cairo/GraphicsContextCairo.cpp: Renaming functions.
(WebCore::GraphicsContext::resetPlatformCTM):
(WebCore::GraphicsContext::getPlatformCTM):
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::getCTM): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::scale): Deleted.
* platform/graphics/cg/GraphicsContextCG.cpp: Renaming functions. Also,
migrate CTM setters to go through GraphicsContext.
(WebCore::GraphicsContext::resetPlatformCTM):
(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::drawPatternCallback):
(WebCore::GraphicsContext::drawPattern):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::scalePlatformCTM):
(WebCore::GraphicsContext::rotatePlatformCTM):
(WebCore::GraphicsContext::translatePlatformCTM):
(WebCore::GraphicsContext::concatPlatformCTM):
(WebCore::GraphicsContext::setPlatformCTM):
(WebCore::GraphicsContext::getPlatformCTM):
(WebCore::GraphicsContext::scale): Deleted.
(WebCore::GraphicsContext::rotate): Deleted.
(WebCore::GraphicsContext::translate): Deleted.
(WebCore::GraphicsContext::concatCTM): Deleted.
(WebCore::GraphicsContext::setCTM): Deleted.
(WebCore::GraphicsContext::getCTM): Deleted.
* platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
(WebCore::GraphicsContextPlatformPrivate::save):
(WebCore::GraphicsContextPlatformPrivate::restore):
(WebCore::GraphicsContextPlatformPrivate::flush):
(WebCore::GraphicsContextPlatformPrivate::clip):
(WebCore::GraphicsContextPlatformPrivate::scale):
(WebCore::GraphicsContextPlatformPrivate::rotate):
(WebCore::GraphicsContextPlatformPrivate::translate):
(WebCore::GraphicsContextPlatformPrivate::concatCTM):
(WebCore::GraphicsContextPlatformPrivate::setCTM):
* platform/graphics/transforms/AffineTransform.h:
(WebCore::AffineTransform::isEssentiallyEqualTo): Equality comparison on floats
is not a good idea. Instead, this function is more valuable. (However, note that
it is expected for values in a CTM to hold values close to 0, which means that
this function might erroneously return false (similar to operator=()).
* platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContextPlatformPrivate::scale):
(WebCore::GraphicsContextPlatformPrivate::concatPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::setPlatformCTM):
(WebCore::GraphicsContextPlatformPrivate::concatCTM): Deleted.
(WebCore::GraphicsContextPlatformPrivate::setCTM): Deleted.
* platform/mac/DragImageMac.mm:
(WebCore::drawAtPoint):

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

6 years agoNull dereference loading Blink layout test fast/forms/color/input-color-onchange...
cdumez@apple.com [Mon, 19 Oct 2015 16:52:29 +0000 (16:52 +0000)]
Null dereference loading Blink layout test fast/forms/color/input-color-onchange-event.html
https://bugs.webkit.org/show_bug.cgi?id=150192
<rdar://problem/23135050>

Reviewed by Darin Adler.

Source/WebCore:

Calling internals.selectColorInColorChooser() with a non-Element would
cause a null dereference. This is because in such case, the implementation
method is passed a null pointer and we would fail to null-check it. This
patch now does the null-check.

No new tests, existing test was updated.

* testing/Internals.cpp:
(WebCore::Internals::selectColorInColorChooser):

LayoutTests:

Import more checks from the corresponding Blink test.

* fast/forms/color/input-color-onchange-event-expected.txt:
* fast/forms/color/input-color-onchange-event.html:

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

6 years ago[Streams API] Update readable-stream-reader tests to latest spec
calvaris@igalia.com [Mon, 19 Oct 2015 16:36:44 +0000 (16:36 +0000)]
[Streams API] Update readable-stream-reader tests to latest spec
https://bugs.webkit.org/show_bug.cgi?id=149699

Reviewed by Darin Adler.

* streams/reference-implementation/readable-stream-reader-expected.txt: Updated expectations.
* streams/reference-implementation/readable-stream-reader.html: Updated tests.

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

6 years ago[Streams API] Update readable-stream-controller-error tests against latest reference
calvaris@igalia.com [Mon, 19 Oct 2015 16:34:44 +0000 (16:34 +0000)]
[Streams API] Update readable-stream-controller-error tests against latest reference
https://bugs.webkit.org/show_bug.cgi?id=149700

Reviewed by Darin Adler.

* streams/readable-stream-controller-error.html: Updated tests.

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

6 years agoFix the ENABLE(WEBASSEMBLY) build after r190827
ossy@webkit.org [Mon, 19 Oct 2015 16:20:08 +0000 (16:20 +0000)]
Fix the ENABLE(WEBASSEMBLY) build after r190827
https://bugs.webkit.org/show_bug.cgi?id=150330

Reviewed by Geoffrey Garen.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock): Removed the duplicated VM argument.
* bytecode/CodeBlock.h:
(JSC::WebAssemblyCodeBlock::create): Added new parameters to finishCreation() calls.
(JSC::WebAssemblyCodeBlock::WebAssemblyCodeBlock): Change VM parameter to pointer to match *CodeBlock classes.
* runtime/Executable.cpp:
(JSC::WebAssemblyExecutable::prepareForExecution): Removed extra ")" and pass pointer as it is expected.

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

6 years agoDoubleRep fails to convert SpecBoolean values.
mark.lam@apple.com [Mon, 19 Oct 2015 16:13:59 +0000 (16:13 +0000)]
DoubleRep fails to convert SpecBoolean values.
https://bugs.webkit.org/show_bug.cgi?id=150313

Reviewed by Geoffrey Garen.

This was uncovered by the op_sub stress test on 32-bit builds.  On 32-bit builds,
DoubleRep will erroneously convert 'true' to a 'NaN' instead of a double 1.
On 64-bit, the same issue exists but is masked by another bug in DoubleRep where
boolean values will always erroneously trigger a BadType OSR exit.

The erroneous conversion of 'true' to 'NaN' is because the 'true' case in
compileDoubleRep() is missing a jump to the "done" destination.  Instead, it
fall through to the "isUndefined" case where it produces a NaN.

The 64-bit erroneous BadType OSR exit is due to the boolean type check being
implemented incorrectly.  It was checking if any bits other than bit 0 were set.
However, boolean JS values always have TagBitBool (the 3rd bit) set.  Hence, the
check will always fail if we have a boolean value.

This patch fixes both of these issues.

No new test is needed because these issues are already covered by scenarios in
the op_sub.js stress test.  This patch also fixes the op_sub.js test to throw an
exception if any failures are encountered (as expected by the stress test
harness).  This patch also re-worked the test code to provide more accurate
descriptions of each test scenario for error reporting.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileDoubleRep):

* tests/stress/op_sub.js:
(generateScenarios):
(func):
(initializeTestCases):
(runTest):
(stringify): Deleted.

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

6 years agoFix the !ENABLE(CSS_GRID_LAYOUT) build after r190840
ossy@webkit.org [Mon, 19 Oct 2015 16:10:16 +0000 (16:10 +0000)]
Fix the !ENABLE(CSS_GRID_LAYOUT) build after r190840
https://bugs.webkit.org/show_bug.cgi?id=150322

Reviewed by Ryosuke Niwa.

* html/HTMLDetailsElement.cpp:

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

6 years agoBinding generator should generate names for JSBuiltins partial interface methods...
youenn.fablet@crf.canon.fr [Mon, 19 Oct 2015 10:45:03 +0000 (10:45 +0000)]
Binding generator should generate names for JSBuiltins partial interface methods using ImplementedBy value
https://bugs.webkit.org/show_bug.cgi?id=150163

Reviewed by Darin Adler.

Covered by updated binding tests.

Updating generation of JS built-in function/attribute name to use the ImplementedBy value of the interface if any.
This allows splitting JS built-ins just like is done for IDLs.
Updated accordingly the JS Builtin header include.

* bindings/scripts/CodeGeneratorJS.pm:
(GetAttributeGetterName): Updated to pass function object and not only function name.
(GetAttributeSetterName): Ditto.
(GetFunctionName): Removed unneeded code plus updated to pass function object and not only function name.
(GenerateConstructorHelperMethods): Making direct use of GetJSBuiltinFunctionNameFromString since there is no function object for the constructor.
(GetJSBuiltinFunctionName): Updated to take into accound ImplementedBy value if any.
(GetJSBuiltinFunctionNameFromString):
(GetJSBuiltinScopeName): Returns either the interface name or its ImplementedBy value.
(AddJSBuiltinIncludesIfNeeded): Updating name of the header in case of partial interface.
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/ObjC/DOMTestInterface.h:
* bindings/scripts/test/ObjC/DOMTestInterface.mm:
(-[DOMTestInterface builtinAttribute]):
(-[DOMTestInterface setBuiltinAttribute:]):
(-[DOMTestInterface builtinFunction]):
* bindings/scripts/test/TestSupplemental.idl: Added JSBuiltin attribute and function.

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

6 years agoBinding generator should allow generating private JS functions
youenn.fablet@crf.canon.fr [Mon, 19 Oct 2015 10:36:42 +0000 (10:36 +0000)]
Binding generator should allow generating private JS functions
https://bugs.webkit.org/show_bug.cgi?id=150167

Reviewed by Darin Adler.

Introducing the "Private" keyword for that purpose.
Applying it to MediaDevices.getUserMedia which can be used directly or through navigator.webkitGetUserMedia
which could be implemented as JS builtin based on it.

"Private" functions are added to the prototype with a corresponding private symbol.
This symbol must be defined in bindings/js/WebCoreBuiltinNames.h.

Adding a getUserMediaFromJS function visible from builtins script.
Implementing MediaDevices.getUserMedia as a JS builtin based on it.

Adding binding generator test.

* CMakeLists.txt: Adding MediaDevices.js.
* DerivedSources.make: Ditto.
* Modules/mediastream/MediaDevices.h:
(WebCore::MediaDevices::getUserMediaFromJS):
* Modules/mediastream/MediaDevices.idl: Marking getUserMediaFromJS private and getUserMedia JSBuiltin.
* Modules/mediastream/MediaDevices.js: Added.
(getUserMedia):
* bindings/js/WebCoreBuiltinNames.h:
* bindings/js/WebCoreJSBuiltins.cpp:
* bindings/js/WebCoreJSBuiltins.h:
(WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
(WebCore::JSBuiltinFunctions::mediaDevicesBuiltins):
* bindings/scripts/CodeGeneratorGObject.pm: Skipping generation of Private functions.
(SkipFunction):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Disabling addition of private function in table and adding private member field to the prototype.
* bindings/scripts/CodeGeneratorObjC.pm: Skipping generation of Private functions.
(SkipFunction):
* bindings/scripts/IDLAttributes.txt: Adding Private keyword.
* bindings/scripts/test/JS/JSTestObj.cpp: Adding Private keyword test.
(WebCore::JSTestObjPrototype::finishCreation):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
* bindings/scripts/test/TestObj.idl:

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

6 years agoDrop !newTarget check since it always becomes true
utatane.tea@gmail.com [Mon, 19 Oct 2015 10:16:58 +0000 (10:16 +0000)]
Drop !newTarget check since it always becomes true
https://bugs.webkit.org/show_bug.cgi?id=150308

Reviewed by Geoffrey Garen.

In a context of calling a constructor, `newTarget` should not become JSEmpty.
So `!newTarget` always becomes true. This patch drops this unneccessary check.
And to ensure the implementation of the constructor is only called under
the context of calling it as a constructor, we change these functions to
static and only use them for constructor implementations of InternalFunction.

* runtime/IntlCollatorConstructor.cpp:
(JSC::constructIntlCollator):
(JSC::callIntlCollator):
* runtime/IntlCollatorConstructor.h:
* runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::constructIntlDateTimeFormat):
(JSC::callIntlDateTimeFormat):
* runtime/IntlDateTimeFormatConstructor.h:
* runtime/IntlNumberFormatConstructor.cpp:
(JSC::constructIntlNumberFormat):
(JSC::callIntlNumberFormat):
* runtime/IntlNumberFormatConstructor.h:
* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):

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

6 years ago[Streams API] Implement ReadableStream tee
youenn.fablet@crf.canon.fr [Mon, 19 Oct 2015 10:09:07 +0000 (10:09 +0000)]
[Streams API] Implement ReadableStream tee
https://bugs.webkit.org/show_bug.cgi?id=146315

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased test.

* Modules/streams/ReadableStream.js:
(tee): Removing not implemented exception throwing.
* Modules/streams/ReadableStreamInternals.js:
(teeReadableStream): Implementing as per spec.
(teeReadableStreamPullFunction): Ditto.
(teeReadableStreamBranch2CancelFunction): Ditto.

LayoutTests:

* streams/reference-implementation/readable-stream-tee-expected.txt:

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

6 years ago[GTK] ASSERTION FAILED: parent in WebInspectorProxy::platformDetach()
carlosgc@webkit.org [Mon, 19 Oct 2015 09:48:51 +0000 (09:48 +0000)]
[GTK] ASSERTION FAILED: parent in WebInspectorProxy::platformDetach()
https://bugs.webkit.org/show_bug.cgi?id=150319

Reviewed by Žan Doberšek.

This happens when the inspector is shown/closed very
quickly. Since we start the inspector attached by default, when
the web inspector is created m_isAttached is set to true, so that
when opened, it's attached to the view. If the inspector is closed
before it has been actually attached, the inspector view doesn't
have a parent, even if the m_isAttached is true. So, we should
handle this case instead of asserting. This is what happens in
test http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html.

* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformDetach): Remove the view from
its parent container if it was actually attached.

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

6 years ago[Streams API] Add skeleton for initial WritableStream support
calvaris@igalia.com [Mon, 19 Oct 2015 09:46:01 +0000 (09:46 +0000)]
[Streams API] Add skeleton for initial WritableStream support
https://bugs.webkit.org/show_bug.cgi?id=149951

Reviewed by Darin Adler.

Source/WebCore:

This basically adds an empty WritableStream object without initializing the object. It also adds all empty
methods by raising an exception.

The reason why the object is not fully initialized is that it requires some other support and some refactorings
to share more code with ReadableStream and we will make in following patches.

Tests are covered by current set and their expectations are properly updated.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreJSBuiltins.cpp:
* bindings/js/WebCoreJSBuiltins.h: Build infrastructure.
* Modules/streams/WritableStream.idl: Added all methods and attributes.
* Modules/streams/WritableStream.js:
(initializeWritableStream):
(abort):
(close):
(write):
(closed):
(ready):
(state): Added all by throwing an EvalError.

Source/WebInspectorUI:

* UserInterface/Models/NativeFunctionParameters.js: Added support for WritableStream.

LayoutTests:

Changed expectations to accomodate the WritableStream skeleton, including global-constructors-attributes.

* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:
* streams/reference-implementation/bad-strategies-expected.txt:
* streams/reference-implementation/bad-underlying-sinks-expected.txt:
* streams/reference-implementation/brand-checks-expected.txt:
* streams/reference-implementation/byte-length-queuing-strategy-expected.txt:
* streams/reference-implementation/count-queuing-strategy-expected.txt:
* streams/reference-implementation/pipe-through-expected.txt:
* streams/reference-implementation/pipe-to-expected.txt:
* streams/reference-implementation/pipe-to-options-expected.txt:
* streams/reference-implementation/readable-stream-templated-expected.txt:
* streams/reference-implementation/writable-stream-abort-expected.txt:
* streams/reference-implementation/writable-stream-expected.txt:

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

6 years ago[EFL] Implement WebContextMenuProxyEfl::showContextMenu after r191194
commit-queue@webkit.org [Mon, 19 Oct 2015 09:13:43 +0000 (09:13 +0000)]
[EFL] Implement WebContextMenuProxyEfl::showContextMenu after r191194
https://bugs.webkit.org/show_bug.cgi?id=150310

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-10-19
Reviewed by Gyuyoung Kim.

showContextMenu() doesn't work correctly after r191194 in EFL port.
This patch implements WebContextMenuProxyEfl::showContextMenu.

* UIProcess/efl/WebContextMenuProxyEfl.cpp:
(WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
(WebKit::WebContextMenuProxyEfl::showContextMenu):
(WebKit::WebContextMenuProxyEfl::hideContextMenu):
* UIProcess/efl/WebContextMenuProxyEfl.h:

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

6 years agoWeb Inspector: AX: console list 'input'/'output' markers are not perceivable
jcraig@apple.com [Mon, 19 Oct 2015 08:56:28 +0000 (08:56 +0000)]
Web Inspector: AX: console list 'input'/'output' markers are not perceivable
https://bugs.webkit.org/show_bug.cgi?id=133045

Enabling WebKit Web Inspector console pseudo-element labels using the new CSS4 'alt' property.

Reviewed by Brian Burg.

* UserInterface/Views/LogContentView.css:
(.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
(.console-messages:focus .console-item.selected .console-user-command-result.console-log-level::before):
(@media reader): Deleted.

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

6 years agoAdd historical addresses to contributors.json
ossy@webkit.org [Mon, 19 Oct 2015 07:17:35 +0000 (07:17 +0000)]
Add historical addresses to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=150227

Reviewed by Darin Adler.

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

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

6 years ago[WK2] Simplify unused return warning in WKRetainPtr.h
ossy@webkit.org [Mon, 19 Oct 2015 07:08:06 +0000 (07:08 +0000)]
[WK2] Simplify unused return warning in WKRetainPtr.h
https://bugs.webkit.org/show_bug.cgi?id=150173

Reviewed by Darin Adler.

* UIProcess/API/cpp/WKRetainPtr.h:
(WebKit::__attribute__):
(WebKit::adoptWK): Deleted.

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

6 years agoFix the ENABLE(SECCOMP_FILTERS) build after r187030
ossy@webkit.org [Mon, 19 Oct 2015 06:49:28 +0000 (06:49 +0000)]
Fix the ENABLE(SECCOMP_FILTERS) build after r187030
https://bugs.webkit.org/show_bug.cgi?id=150172

Reviewed by Alexey Proskuryakov.

* Shared/linux/SeccompFilters/Syscall.cpp:
(WebKit::reportUnexpectedSyscall):

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

6 years ago[Win] Change the DLL name in MiniBrowserLib.vcxproj to match webkit.org/b/150124.
commit-queue@webkit.org [Mon, 19 Oct 2015 02:26:19 +0000 (02:26 +0000)]
[Win] Change the DLL name in MiniBrowserLib.vcxproj to match webkit.org/b/150124.
https://bugs.webkit.org/show_bug.cgi?id=150307

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-18
Reviewed by Brent Fulgham.

The DLL build rules have been changed to generate "{Name}Lib.DLL",
but these changes have not yet been applied to the Visual Studio builds.

* MiniBrowser/MiniBrowser.vcxproj/MiniBrowserLib.vcxproj:

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

6 years agoPromise constructor should throw when not called with "new"
utatane.tea@gmail.com [Mon, 19 Oct 2015 00:51:26 +0000 (00:51 +0000)]
Promise constructor should throw when not called with "new"
https://bugs.webkit.org/show_bug.cgi?id=149380

Reviewed by Darin Adler.

Source/JavaScriptCore:

Implement handling new.target in Promise constructor. And
prohibiting Promise constructor call without "new".

* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
(JSC::callPromise):
(JSC::JSPromiseConstructor::getCallData):
* tests/es6.yaml:
* tests/stress/promise-cannot-be-called.js: Added.
(shouldBe):
(shouldThrow):
(Deferred):
(super):

LayoutTests:

Fix js/dom/Promise-types.html. Before this change, it calls the Promise constructor without new and
expects it succeeds. And we move it from js/dom to js since we can execute this without DOM support.

* js/Promise-types-expected.txt: Renamed from LayoutTests/js/dom/Promise-types-expected.txt.
* js/Promise-types.html: Added.
* js/script-tests/Promise-types.js: Renamed from LayoutTests/js/dom/Promise-types.html.
(aPromise.new.Promise):
(debug.string_appeared_here.shouldThrow.Promise):
* resources/standalone-pre.js:
(shouldBeDefined):

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

6 years ago[ES6] Handle asynchronous tests in tests/es6
utatane.tea@gmail.com [Mon, 19 Oct 2015 00:36:50 +0000 (00:36 +0000)]
[ES6] Handle asynchronous tests in tests/es6
https://bugs.webkit.org/show_bug.cgi?id=150293

Reviewed by Darin Adler.

Since JSC can handle microtasks, some of ES6 Promise tests can be executed under the JSC shell.
Some of them still fail because it uses setTimeout that invokes macrotasks with explicit delay.

* tests/es6.yaml:
* tests/es6/Promise_Promise.all.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_Promise.all_generic_iterables.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_Promise.race.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_Promise.race_generic_iterables.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_basic_functionality.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_is_subclassable_Promise.all.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_is_subclassable_Promise.race.js:
(test.asyncTestPassed):
(test):
* tests/es6/Promise_is_subclassable_basic_functionality.js:
(test.asyncTestPassed):
(test):

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

6 years agoWeb Inspector: Console Search should update when console is cleared
commit-queue@webkit.org [Mon, 19 Oct 2015 00:29:05 +0000 (00:29 +0000)]
Web Inspector: Console Search should update when console is cleared
https://bugs.webkit.org/show_bug.cgi?id=150141

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-10-18
Reviewed by Brian Burg.

* UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView.prototype._logCleared):
Reperform the search if there is a search query.

(WebInspector.LogContentView.prototype._filterMessageElements):
Reperform the current search.

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

6 years agoMarking fast/canvas/webgl/oes-texture-float-linear.html as flaky
commit-queue@webkit.org [Sun, 18 Oct 2015 23:51:01 +0000 (23:51 +0000)]
Marking fast/canvas/webgl/oes-texture-float-linear.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=149930

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-18
Reviewed by Darin Adler.

* platform/mac/TestExpectations:

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

6 years ago[GTK] Remove WebKitContextMenu related missing annotation warnings
commit-queue@webkit.org [Sun, 18 Oct 2015 23:47:23 +0000 (23:47 +0000)]
[GTK] Remove WebKitContextMenu related missing annotation warnings
https://bugs.webkit.org/show_bug.cgi?id=150299

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-10-18
Reviewed by Darin Adler.

The warnings occur currently because when executing g-ir-scanner,
it doesn't consider WebKitContextMenu related .cpp files,
but only .h files.

* PlatformGTK.cmake: Add WebKitContextMenu related cpp files.

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

6 years agoMarking webarchive/loading/object.html as flaky due to crashes
commit-queue@webkit.org [Sun, 18 Oct 2015 23:47:08 +0000 (23:47 +0000)]
Marking webarchive/loading/object.html as flaky due to crashes
https://bugs.webkit.org/show_bug.cgi?id=150241
<rdar://problem/21690723>

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-18
Reviewed by Darin Adler.

* platform/mac-wk2/TestExpectations:

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

6 years agoScript element with an empty for or event attributes should not execute
cdumez@apple.com [Sun, 18 Oct 2015 23:43:40 +0000 (23:43 +0000)]
Script element with an empty for or event attributes should not execute
https://bugs.webkit.org/show_bug.cgi?id=148855
<rdar://problem/22588156>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline existing W3C HTML test now that more checks are passing.

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

Source/WebCore:

A script element with an empty for or event attributes should not execute
as per:
https://html.spec.whatwg.org/multipage/scripting.html#prepare-a-script (step 12)

Our implementation had a bug where it would not correctly differentiate
an empty attribute from a missing one. This patch fixes this.

No new tests, already covered by existing test.

* dom/ScriptElement.cpp:
(WebCore::ScriptElement::isScriptForEventSupported):

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

6 years agoMarking media/event-queue-crash.html as flaky
commit-queue@webkit.org [Sun, 18 Oct 2015 23:42:51 +0000 (23:42 +0000)]
Marking media/event-queue-crash.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=114177

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-18
Reviewed by Darin Adler.

* platform/mac/TestExpectations:

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

6 years agoWebKit must support all JavaScript MIME types in HTML5 spec
cdumez@apple.com [Sun, 18 Oct 2015 23:41:02 +0000 (23:41 +0000)]
WebKit must support all JavaScript MIME types in HTML5 spec
https://bugs.webkit.org/show_bug.cgi?id=148854
<rdar://problem/22588195>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C HTML test now that more checks are passing.

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

Source/WebCore:

WebKit did not execute certain EcmaScript MIME types although the HTML
specification says all user agents should support those:
https://html.spec.whatwg.org/multipage/scripting.html#javascript-mime-type

In particular, the following MIME types are now recognized as valid and
executed: "application/x-ecmascript", "text/javascript1.0",
"text/javascript1.4", "text/javascript1.5", "text/x-javascript",
"text/x-ecmascript".

The new behavior is consistent with Firefox.

No new tests, already covered by existing test.

* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedJavaScriptMIMETypes):

LayoutTests:

Rebaseline several existing layout tests now that we execute
more JS MIME types.

* fast/html/script-allowed-types-languages-expected.txt:
* fast/tokenizer/004-expected.txt:

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

6 years ago[Win] Fix the Windows builds.
commit-queue@webkit.org [Sun, 18 Oct 2015 23:39:20 +0000 (23:39 +0000)]
[Win] Fix the Windows builds.
https://bugs.webkit.org/show_bug.cgi?id=150300

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-18
Reviewed by Darin Adler.

Source/JavaScriptCore:

Add missing files to JavaScriptCore.vcxproj.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:

Source/WebCore:

Add missing files to WebCore.vcxproj.
Add missing #includes to CSSAllInOne.cpp and HTMLElementsAllInOne.cpp.

No new tests, no behavior change.

* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* css/CSSAllInOne.cpp:
* html/HTMLElementsAllInOne.cpp:

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

6 years agoFix the builds with ENABLE_CONTENT_EXTENSIONS=OFF.
commit-queue@webkit.org [Sun, 18 Oct 2015 23:36:41 +0000 (23:36 +0000)]
Fix the builds with ENABLE_CONTENT_EXTENSIONS=OFF.
https://bugs.webkit.org/show_bug.cgi?id=150302

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-18
Reviewed by Darin Adler.

Add missing #if ENABLE(CONTENT_EXTENSIONS).

No new tests, no behavior change.

* page/UserContentController.h:

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

6 years ago[EFL] Fix debug build break since r191198
commit-queue@webkit.org [Sun, 18 Oct 2015 23:29:15 +0000 (23:29 +0000)]
[EFL] Fix debug build break since r191198
https://bugs.webkit.org/show_bug.cgi?id=150277

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-10-18
Reviewed by Darin Adler.

No new tests, no new behaviours.

Use the correct %"PRIu64" for uint64_t,
instead of %llu.

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::fireVersionChangeEvent):
* Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::onUpgradeNeeded):
* Modules/indexeddb/legacy/IDBDatabaseBackend.cpp:
(WebCore::IDBDatabaseBackend::processPendingOpenCalls):
(WebCore::IDBDatabaseBackend::openConnectionInternal):
* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::notifyConnectionsOfVersionChange):

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

6 years agoFix the builds with ENABLE_INDEX_DATABASE=OFF.
commit-queue@webkit.org [Sun, 18 Oct 2015 23:27:37 +0000 (23:27 +0000)]
Fix the builds with ENABLE_INDEX_DATABASE=OFF.
https://bugs.webkit.org/show_bug.cgi?id=150301

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-18
Reviewed by Darin Adler.

Add missing #if ENABLE(INDEXED_DATABASE).

Source/WebCore:

No new tests, no behavior change.

* page/Page.cpp:

Source/WebKit:

* Storage/WebDatabaseProvider.h:

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

6 years ago[Cocoa] [Win] Remove unused code from GraphicsContext
mmaxfield@apple.com [Sun, 18 Oct 2015 23:24:24 +0000 (23:24 +0000)]
[Cocoa] [Win] Remove unused code from GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=150304

Reviewed by Darin Adler.

No new tests because there is no behavior change.

* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setAllowsFontSmoothing): Deleted.

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

6 years agoComputed style should work correctly with slotted elements that have display:none
antti@apple.com [Sun, 18 Oct 2015 22:15:18 +0000 (22:15 +0000)]
Computed style should work correctly with slotted elements that have display:none
https://bugs.webkit.org/show_bug.cgi?id=150237

Source/WebCore:

Reviewed by Andreas Kling..

If an element has display:none we don't normally retain or even compute its style (as it is not rendered).
If getComputedStyle is invoked for such element we resolve the style (along with any ancestors) and cache
it separately to rare data. This path needs to work with slotted elements in shadow trees.

This patch also make computedStyle() iterative rather than recursive.

Test: fast/shadow-dom/computed-style-display-none.html

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

    Pass in the parent style instead of invoking computedStyle() recursively.

* dom/Document.h:
* dom/Element.cpp:
(WebCore::beforeOrAfterPseudoElement):
(WebCore::Element::existingComputedStyle):
(WebCore::Element::resolveComputedStyle):

    Iterative resolve function that uses composed tree iterator.

(WebCore::Element::computedStyle):

    Factor into helpers.

* dom/Element.h:
* dom/Node.cpp:
(WebCore::Node::computedStyle):

    Use the composed tree iterator.

* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::selectOption):

    Call updateValidity() before calling renderer->updateFromElement(). Calling updateFromElement()
    may end up in Element::computedStyle() which can asserts if validity is not up to date.

LayoutTests:

Reviewed by Andreas Kling.

* editing/style/apply-style-atomic-expected.txt:

    Rebase.

* fast/css/getComputedStyle/getComputedStyle-with-pseudo-element-expected.txt:
* fast/css/getComputedStyle/getComputedStyle-with-pseudo-element.html:

    We now also compute style of display:none pseudo elements correctly.
    This is a progression and matches other browsers.

* fast/shadow-dom/computed-style-display-none-expected.txt: Added.
* fast/shadow-dom/computed-style-display-none.html: Added.

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

6 years agoBuild fix after r191260
mmaxfield@apple.com [Sun, 18 Oct 2015 17:19:40 +0000 (17:19 +0000)]
Build fix after r191260

Unreviewed.

* WebView/WebView.mm:
(+[WebView initialize]):

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

6 years agoStop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
mmaxfield@apple.com [Sun, 18 Oct 2015 16:36:14 +0000 (16:36 +0000)]
Stop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
https://bugs.webkit.org/show_bug.cgi?id=150287

Reviewed by Simon Fraser.

Source/WebCore:

This user default is currently on by default. Therefore, by setting the user default,
users can only disable kerning / ligatures (rather than enable it).

There are a few reasons why we should stop honoring it:

1. In the brave new world of font-feature-settings and font-variant-ligatures, there
are many different kinds of ligatures which may be enabled at will. The simplistic
statement of "turn on ligatures" no longer has any meaning.

2. If a user wants to disable kerning / ligatures, he/she can do it with a user
stylesheet.

3. The default isn't able to be tested with DumpRenderTree or WebKitTestRunner.

4. I have never heard of anyone actually using this user default.

* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::setDefaultKerning): Deleted.
(WebCore::FontCascade::setDefaultLigatures): Deleted.
* platform/graphics/FontCascade.h:
(WebCore::FontCascade::advancedTextRenderingMode):

Source/WebKit/mac:

* WebView/WebView.mm:
(+[WebView initialize]): Deleted.

Source/WebKit2:

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Deleted.
(WebKit::WebProcessCreationParameters::encode): Deleted.
(WebKit::WebProcessCreationParameters::decode): Deleted.
* Shared/WebProcessCreationParameters.h:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::registerUserDefaultsIfNeeded): Deleted.
(WebKit::WebProcessPool::platformInitializeWebProcess): Deleted.
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Deleted.

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

6 years agoUnreviewed EFL gardening. Mark css variables tests to pass
gyuyoung.kim@webkit.org [Sun, 18 Oct 2015 13:30:33 +0000 (13:30 +0000)]
Unreviewed EFL gardening. Mark css variables tests to pass
with incorrect result. Because the pass is not verified yet.

* platform/efl/TestExpectations:

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

6 years ago[GTK] Implement WebContextMenuProxyGtk::showContextMenu after r191194
utatane.tea@gmail.com [Sun, 18 Oct 2015 07:58:15 +0000 (07:58 +0000)]
[GTK] Implement WebContextMenuProxyGtk::showContextMenu after r191194
https://bugs.webkit.org/show_bug.cgi?id=150276

Reviewed by Carlos Garcia Campos.

After r191194, showContextMenu signature becomes changed, and the implementation
is moved from the generic file to the Mac port. It poses the compile error in GTK port.
This patch implements WebContextMenuProxyGtk::showContextMenu. The logic is the same
to the old one except for dropping SERVICE_CONTROLS support. This is because
SERVICE_CONTROLS is not related to GTK.

* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::showContextMenu):
* UIProcess/gtk/WebContextMenuProxyGtk.h:

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

6 years agoFix a copy/paste mistake in the previous commit.
ap@apple.com [Sun, 18 Oct 2015 07:11:49 +0000 (07:11 +0000)]
Fix a copy/paste mistake in the previous commit.

* platform/mac-wk2/TestExpectations:

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

6 years agoAdd one more flaky Blink test to TestExpectations.
ap@apple.com [Sun, 18 Oct 2015 07:08:30 +0000 (07:08 +0000)]
Add one more flaky Blink test to TestExpectations.

* platform/mac-wk2/TestExpectations:

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

6 years agoUnreviewed, rolling out r191250 and r191253.
commit-queue@webkit.org [Sun, 18 Oct 2015 07:02:42 +0000 (07:02 +0000)]
Unreviewed, rolling out r191250 and r191253.
https://bugs.webkit.org/show_bug.cgi?id=150296

Broke all the tests on Windows (Requested by ap on #webkit).

Reverted changesets:

"Stop honoring the user default
"WebKitKerningAndLigaturesEnabledByDefault""
https://bugs.webkit.org/show_bug.cgi?id=150287
http://trac.webkit.org/changeset/191250

"Build fix after r191250"
http://trac.webkit.org/changeset/191253

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

6 years agoAdd CPU(X86) to the supported MASM_PROBE CPUs. This was accidentally left out in...
mark.lam@apple.com [Sun, 18 Oct 2015 00:25:35 +0000 (00:25 +0000)]
Add CPU(X86) to the supported MASM_PROBE CPUs. This was accidentally left out in r191197.

Not reviewed.

* wtf/Platform.h:

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

6 years agoBuild fix after r191250
mmaxfield@apple.com [Sun, 18 Oct 2015 00:00:28 +0000 (00:00 +0000)]
Build fix after r191250

Unreviewed.

* WebView/WebView.mm:
(+[WebView initialize]):

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

6 years agoImplement the CSS4 'revert' keyword.
hyatt@apple.com [Sat, 17 Oct 2015 23:13:43 +0000 (23:13 +0000)]
Implement the CSS4 'revert' keyword.
https://bugs.webkit.org/show_bug.cgi?id=149702

Reviewed by Simon Fraser.

Source/WebCore:

Added new tests in fast/css and fast/css/variables.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
Add CSSRevertValue to the project and makefiles.

* css/CSSParser.cpp:
(WebCore::parseKeywordValue):
Make sure to handle "revert" in the keyword parsing path (along with inherit/initial/unset).

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseCustomPropertyDeclaration):
At the parser level, "revert" is just like inherit/initial/unset and gets its own special
singleton value, CSSRevertValue.

* css/CSSRevertValue.cpp: Added.
(WebCore::CSSRevertValue::customCSSText):
* css/CSSRevertValue.h: Added.
(WebCore::CSSRevertValue::create):
(WebCore::CSSRevertValue::equals):
(WebCore::CSSRevertValue::CSSRevertValue):
This value is identical to the inherit/initial/unset values, i.e., its own special value
that can be used to indicate a revert when doing style resolution.

* css/CSSValue.cpp:
(WebCore::CSSValue::cssValueType):
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
* css/CSSValue.h:
(WebCore::CSSValue::isInheritedValue):
(WebCore::CSSValue::isInitialValue):
(WebCore::CSSValue::isUnsetValue):
(WebCore::CSSValue::isRevertValue):
Add the RevertClass to CSSValue and make sure it is handled in all the appropriate methods.

* css/CSSValueKeywords.in:
Add the "revert" keyword to the list of allowed CSS keywords.

* css/CSSValuePool.cpp:
(WebCore::CSSValuePool::CSSValuePool):
* css/CSSValuePool.h:
(WebCore::CSSValuePool::createRevertValue):
Add support for a CSSRevertValue singleton, just like inherit/unset/initial.

* css/FontLoader.cpp:
(WebCore::FontLoader::resolveFontStyle):
Add "unset" and "revert" as special keywords to be ignored. This code seems to be turned off,
but patching it anyway.

* css/SelectorChecker.h:
Add a MatchDefault value of 0 to the LinkMatchMask. This enables it to be used as an index
to the correct value in Property (in the style resolution code).

* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::initForStyleResolve):
Delete any lingering old CascadedProperty rollbacks for UA/user rules.

(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
Pass along the MatchResult as an additional parameter, since we need it to lazily compute
the cascade rollbacks if the "revert" keyword is encountered.

(WebCore::StyleResolver::cascadedPropertiesForRollback):
This method will lazily create and return a new CascadedProperties pointer that is cached
in the StyleResolver's state. This will contain only UA rules (for user reverts) and UA/user
rules (for author reverts). These will only be computed at most once for a given element
when doing a reversion, and they will be computed lazily, i.e., only if a revert is
requested.

(WebCore::StyleResolver::applyProperty):
Pass along the LinkMatchMask and the MatchResult to applyProperty. This way we know specifically
which link type we were computing if we have to revert (so that we roll back and look at the
same index in the reverted version). The MatchResult is passed along because it is needed
to build the CascadedProperties rollbacks.

The basic idea is that if a revert is encountered, the level that the rule came from is
checked. If it is UA level, just treat as "unset." If it is author or user level, get
the correct CascadedProperties rollback and repeat the applyProperty using the property
found in the rollback. If the property is not present in the cascade rollback, then the
revert becomes an unset.

(WebCore::StyleResolver::CascadedProperties::hasCustomProperty):
(WebCore::StyleResolver::CascadedProperties::customProperty):
Helpers used by applyProperty to check on custom properties, since they can revert too
just like a regular property can.

(WebCore::StyleResolver::CascadedProperties::setPropertyInternal):
(WebCore::StyleResolver::CascadedProperties::set):
(WebCore::StyleResolver::CascadedProperties::setDeferred):
Passing along the CascadeLevel (UA, User, Author) so that it can be stored in the Property.
This way when we do property application, we always know where the rule came from so
that the reversion can be handled properly.

(WebCore::StyleResolver::CascadedProperties::addStyleProperties):
(WebCore::cascadeLevelForIndex):
(WebCore::StyleResolver::CascadedProperties::addMatches):
When style properties are added, also figure out the CascadeLevel and pass it along to be
stored in the Property. We use the MatchResult's ranges to know where a property comes from.

(WebCore::StyleResolver::CascadedProperties::applyDeferredProperties):
(WebCore::StyleResolver::CascadedProperties::Property::apply):
(WebCore::StyleResolver::applyCascadedProperties):
Pass along the MatchResult so we know how to build the rollback.

* css/StyleResolver.h:
(WebCore::StyleResolver::State::cascadeLevel):
(WebCore::StyleResolver::State::setCascadeLevel):
(WebCore::StyleResolver::State::authorRollback):
(WebCore::StyleResolver::State::userRollback):
(WebCore::StyleResolver::State::setAuthorRollback):
(WebCore::StyleResolver::State::setUserRollback):
(WebCore::StyleResolver::state):
(WebCore::StyleResolver::cascadeLevel):
(WebCore::StyleResolver::setCascadeLevel):
Move CascadedProperties into the header. Add CascadeLevel to Property. Add the level and
rollbacks to the resolver's state.

LayoutTests:

* fast/css/all-keyword-revert-expected.html: Added.
* fast/css/all-keyword-revert.html: Added.
* fast/css/revert-color-expected.html: Added.
* fast/css/revert-color.html: Added.
* fast/css/revert-margins-expected.html: Added.
* fast/css/revert-margins.html: Added.
* fast/css/variables/all-keyword-revert-expected.html: Added.
* fast/css/variables/all-keyword-revert.html: Added.
* fast/css/variables/revert-inheritance-expected.html: Added.
* fast/css/variables/revert-inheritance.html: Added.
* fast/css/variables/revert-no-inheritance-expected.html: Added.
* fast/css/variables/revert-no-inheritance.html: Added.
* fast/css/variables/revert-variable-reference-expected.html: Added.
* fast/css/variables/revert-variable-reference.html: Added.

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

6 years agoDelete FontPlatformData::allowsLigatures()
mmaxfield@apple.com [Sat, 17 Oct 2015 22:40:41 +0000 (22:40 +0000)]
Delete FontPlatformData::allowsLigatures()
https://bugs.webkit.org/show_bug.cgi?id=150286

Reviewed by Dan Bernstein.

Source/WebCore:

This function is only used to force ligatures on for complex fonts (where "complex"
means "does not support the letter 'a'"). However, ligatures are turned on for all
fonts by default, which means that this function is unnecessary.

Required ligatures, such as those which make these complex scripts legible, are always
enabled, no matter what.

Test: fast/text/required-ligatures.html

* platform/graphics/FontPlatformData.h:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::allowsLigatures): Deleted.
* platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::Font::getCFStringAttributes):

LayoutTests:

Make sure it's impossible to turn off required ligatures with CSS.

* fast/text/required-ligatures-expected.html: Added.
* fast/text/required-ligatures.html: Added.

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

6 years agoStop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
mmaxfield@apple.com [Sat, 17 Oct 2015 22:31:36 +0000 (22:31 +0000)]
Stop honoring the user default "WebKitKerningAndLigaturesEnabledByDefault"
https://bugs.webkit.org/show_bug.cgi?id=150287

Reviewed by Simon Fraser.

Source/WebCore:

This user default is currently on by default. Therefore, by setting the user default,
users can only disable kerning / ligatures (rather than enable it).

There are a few reasons why we should stop honoring it:

1. In the brave new world of font-feature-settings and font-variant-ligatures, there
are many different kinds of ligatures which may be enabled at will. The simplistic
statement of "turn on ligatures" no longer has any meaning.

2. If a user wants to disable kerning / ligatures, he/she can do it with a user
stylesheet.

3. The default isn't able to be tested with DumpRenderTree or WebKitTestRunner.

4. I have never heard of anyone actually using this user default.

* platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::setDefaultKerning): Deleted.
(WebCore::FontCascade::setDefaultLigatures): Deleted.
* platform/graphics/FontCascade.h:
(WebCore::FontCascade::advancedTextRenderingMode):

Source/WebKit/mac:

* WebView/WebView.mm:
(+[WebView initialize]): Deleted.

Source/WebKit2:

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Deleted.
(WebKit::WebProcessCreationParameters::encode): Deleted.
(WebKit::WebProcessCreationParameters::decode): Deleted.
* Shared/WebProcessCreationParameters.h:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::registerUserDefaultsIfNeeded): Deleted.
(WebKit::WebProcessPool::platformInitializeWebProcess): Deleted.
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Deleted.

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

6 years ago[Cocoa] Stop using WKAXRegisterRemoteApp
mitz@apple.com [Sat, 17 Oct 2015 21:32:28 +0000 (21:32 +0000)]
[Cocoa] Stop using WKAXRegisterRemoteApp
https://bugs.webkit.org/show_bug.cgi?id=150283

Reviewed by Alexey Proskuryakov.

Source/WebCore:

* platform/spi/ios/GraphicsServicesSPI.h: Added declaration of GSSystemRootDirectory.

Source/WebKit2:

* Platform/spi/mac: Added.
* Platform/spi/mac/AppKitSPI.h: Added. Includes declaration of
  +[NSAccessibilityRemoteUIElement setRemoteUIApp:].

* WebKit2.xcodeproj/project.pbxproj: Added reference to new header. Also changed the path of
  the Platform/spi/Cocoa group to the corresponding path in the source tree.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::registerWithAccessibility): Added.
(WebKit::WebProcess::platformInitializeProcess): Use new registerWithAccessibility instead
  of WKAXRegisterRemoteApp.

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

6 years agoFix some generational heap growth pathologies
fpizlo@apple.com [Sat, 17 Oct 2015 20:27:43 +0000 (20:27 +0000)]
Fix some generational heap growth pathologies
https://bugs.webkit.org/show_bug.cgi?id=150270

Reviewed by Andreas Kling.

When doing generational copying, we would pretend that the size of old space was increased
just by the amount of bytes we copied. In reality, it would be increased by the number of
bytes used by the copied blocks we created. This is a larger number, and in some simple
pathological programs, the difference can be huge.

Fixing this bug was relatively easy, and the only really meaningful change here is in
Heap::updateAllocationLimits(). But to convince myself that the change was valid, I had to
add some debugging code and I had to refactor some stuff so that it made more sense.

This change does obviate the need for m_totalBytesCopied, because we no longer use it in
release builds to decide how much heap we are using at the end of collection. But I added a
FIXME about how we could restore our use of m_totalBytesCopied. So, I kept the logic, for
now. The FIXME references https://bugs.webkit.org/show_bug.cgi?id=150268.

Relanding with build fix.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/CopiedBlock.cpp: Added.
(JSC::CopiedBlock::createNoZeroFill):
(JSC::CopiedBlock::destroy):
(JSC::CopiedBlock::create):
(JSC::CopiedBlock::zeroFillWilderness):
(JSC::CopiedBlock::CopiedBlock):
* heap/CopiedBlock.h:
(JSC::CopiedBlock::didSurviveGC):
(JSC::CopiedBlock::createNoZeroFill): Deleted.
(JSC::CopiedBlock::destroy): Deleted.
(JSC::CopiedBlock::create): Deleted.
(JSC::CopiedBlock::zeroFillWilderness): Deleted.
(JSC::CopiedBlock::CopiedBlock): Deleted.
* heap/CopiedSpaceInlines.h:
(JSC::CopiedSpace::startedCopying):
* heap/Heap.cpp:
(JSC::Heap::updateObjectCounts):
(JSC::Heap::resetVisitors):
(JSC::Heap::capacity):
(JSC::Heap::protectedGlobalObjectCount):
(JSC::Heap::collectImpl):
(JSC::Heap::willStartCollection):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didFinishCollection):
(JSC::Heap::sizeAfterCollect): Deleted.
* heap/Heap.h:
* heap/HeapInlines.h:
(JSC::Heap::shouldCollect):
(JSC::Heap::isBusy):
(JSC::Heap::collectIfNecessaryOrDefer):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::create):
(JSC::MarkedBlock::destroy):

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

6 years agotd and th should use HTMLTableDataCellElement and HTMLTableHeaderCellElement interfaces
cdumez@apple.com [Sat, 17 Oct 2015 19:38:12 +0000 (19:38 +0000)]
td and th should use HTMLTableDataCellElement and HTMLTableHeaderCellElement interfaces
https://bugs.webkit.org/show_bug.cgi?id=148859
<rdar://problem/22588664>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/semantics/interfaces-expected.txt:

Source/WebCore:

td and th should use HTMLTableDataCellElement and HTMLTableHeaderCellElement interfaces
as per the latest HTML specification:
https://html.spec.whatwg.org/multipage/tables.html#htmltabledatacellelement
https://html.spec.whatwg.org/multipage/tables.html#htmltableheadercellelement

This patch aligns our behavior with the specification and IE. Firefox and Chrome do not
seem to expose HTMLTableDataCellElement / HTMLTableHeaderCellElement at this time.

The compatibility risk is low, given that the API stays the same and those new
interfaces inherit the pre-existing HTMLTableCellElement interface.

No new tests, already covered by existing tests.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLTableCellElement.cpp:
(WebCore::HTMLTableCellElement::HTMLTableCellElement):
(WebCore::HTMLTableCellElement::colSpan): Deleted.
* html/HTMLTableCellElement.h:
* html/HTMLTableCellElement.idl:
* html/HTMLTableDataCellElement.h: Added.
* html/HTMLTableDataCellElement.idl: Added.
* html/HTMLTableHeaderCellElement.h: Added.
* html/HTMLTableHeaderCellElement.idl: Added.
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::insertCell):
* html/HTMLTagNames.in:

LayoutTests:

Rebaseline existing tests now that new HTMLTableDataCellElement / HTMLTableHeaderCellElement
types are exposed.

* fast/dom/wrapper-classes-expected.txt:
* fast/dom/wrapper-classes.html:
* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:

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

6 years agoRenderBlockFlow::xPositionForFloatIncludingMargin/yPositionForFloatIncludingMargin...
zalan@apple.com [Sat, 17 Oct 2015 19:14:53 +0000 (19:14 +0000)]
RenderBlockFlow::xPositionForFloatIncludingMargin/yPositionForFloatIncludingMargin/flipFloatForWritingModeForChild
should all take FloatingObject reference.
https://bugs.webkit.org/show_bug.cgi?id=150267

Reviewed by Simon Fraser.

No change in behaviour.

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::addOverflowFromFloats):
(WebCore::RenderBlockFlow::paintFloats):
(WebCore::RenderBlockFlow::clipOutFloatingObjects):
(WebCore::RenderBlockFlow::addOverhangingFloats):
(WebCore::RenderBlockFlow::flipFloatForWritingModeForChild):
(WebCore::RenderBlockFlow::hitTestFloats):
(WebCore::RenderBlockFlow::adjustForBorderFit):
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::xPositionForFloatIncludingMargin):
(WebCore::RenderBlockFlow::yPositionForFloatIncludingMargin):

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

6 years agoSort the project file.
simon.fraser@apple.com [Sat, 17 Oct 2015 18:49:02 +0000 (18:49 +0000)]
Sort the project file.

* WebCore.xcodeproj/project.pbxproj:

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

6 years agoUnreviewed, rolling out r191240.
commit-queue@webkit.org [Sat, 17 Oct 2015 18:42:52 +0000 (18:42 +0000)]
Unreviewed, rolling out r191240.
https://bugs.webkit.org/show_bug.cgi?id=150281

Broke 32-bit builds (Requested by smfr on #webkit).

Reverted changeset:

"Fix some generational heap growth pathologies"
https://bugs.webkit.org/show_bug.cgi?id=150270
http://trac.webkit.org/changeset/191240

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

6 years agoEnhance TextStream for logging, remove subclasses, log more things
simon.fraser@apple.com [Sat, 17 Oct 2015 18:34:19 +0000 (18:34 +0000)]
Enhance TextStream for logging, remove subclasses, log more things
https://bugs.webkit.org/show_bug.cgi?id=150269

Reviewed by Zalan Bujtas.

Remove the various TextStream subclasses that only existed to support indenting,
and output additional types. Add output for more WebCore and WebKit2 types, and
just use TextStream everywhere.

TextStream is enhance to support grouping (open paren and intent), with a
stack-based class to open/end a group.

Remove some SVG-specific duplicate output functions.

Outdent namespace contents of GraphicsTypes.h.
Source/WebCore:

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* dom/ViewportArguments.cpp:
(WebCore::operator<<):
* dom/ViewportArguments.h:
* page/ViewportConfiguration.cpp:
(WebCore::operator<<):
(WebCore::ViewportConfiguration::description):
(WebCore::ViewportConfigurationTextStream::ViewportConfigurationTextStream): Deleted.
(WebCore::ViewportConfigurationTextStream::increaseIndent): Deleted.
(WebCore::ViewportConfigurationTextStream::decreaseIndent): Deleted.
(WebCore::dumpProperty): Deleted.
(WebCore::ViewportConfigurationTextStream::writeIndent): Deleted.
(WebCore::ViewportConfigurationTextStream::operator<<): Deleted.
* page/ViewportConfiguration.h:
* page/scrolling/ScrollingConstraints.cpp:
(WebCore::operator<<):
* page/scrolling/ScrollingConstraints.h:
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::operator<<):
* page/scrolling/ScrollingCoordinator.h:
* platform/animation/TimingFunction.cpp: Added.
(WebCore::operator<<):
* platform/animation/TimingFunction.h:
* platform/graphics/Color.cpp:
(WebCore::operator<<):
* platform/graphics/Color.h:
* platform/graphics/FloatPoint3D.cpp:
(WebCore::operator<<):
* platform/graphics/FloatPoint3D.h:
* platform/graphics/FloatRoundedRect.cpp:
(WebCore::operator<<):
* platform/graphics/FloatRoundedRect.h:
* platform/graphics/GraphicsLayer.cpp:
(WebCore::operator<<):
* platform/graphics/GraphicsLayer.h:
* platform/graphics/GraphicsTypes.cpp:
(WebCore::operator<<):
* platform/graphics/GraphicsTypes.h:
* platform/graphics/ca/PlatformCAAnimation.cpp: Added.
(WebCore::operator<<):
* platform/graphics/ca/PlatformCAAnimation.h:
* platform/graphics/ca/PlatformCALayer.cpp:
(WebCore::operator<<):
* platform/graphics/ca/PlatformCALayer.h:
* platform/graphics/filters/FilterOperation.cpp:
(WebCore::operator<<):
* platform/graphics/filters/FilterOperation.h:
* platform/graphics/filters/FilterOperations.cpp:
(WebCore::operator<<):
* platform/graphics/filters/FilterOperations.h:
* platform/graphics/filters/PointLightSource.cpp:
(WebCore::operator<<): Deleted.
* platform/graphics/filters/SpotLightSource.cpp:
(WebCore::operator<<): Deleted.
* platform/graphics/transforms/AffineTransform.cpp:
(WebCore::operator<<):
* platform/graphics/transforms/AffineTransform.h:
* platform/graphics/transforms/TransformationMatrix.cpp:
(WebCore::operator<<):
* platform/graphics/transforms/TransformationMatrix.h:
* platform/text/TextStream.cpp:
(WebCore::TextStream::startGroup):
(WebCore::TextStream::endGroup):
(WebCore::TextStream::nextLine):
(WebCore::TextStream::writeIndent):
* platform/text/TextStream.h:
(WebCore::TextStream::operator<<):
(WebCore::TextStream::dumpProperty):
(WebCore::TextStream::increaseIndent):
(WebCore::TextStream::decreaseIndent):
(WebCore::TextStream::GroupScope::GroupScope):
(WebCore::TextStream::GroupScope::~GroupScope):
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<): Deleted.
* rendering/svg/SVGRenderTreeAsText.h:

Source/WebKit2:

* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(WebKit::dump):
(WebKit::recursiveDumpNodes):
(WebKit::RemoteScrollingCoordinatorTransaction::description):
(WebKit::RemoteScrollingTreeTextStream::RemoteScrollingTreeTextStream): Deleted.
(WebKit::RemoteScrollingTreeTextStream::increaseIndent): Deleted.
(WebKit::RemoteScrollingTreeTextStream::decreaseIndent): Deleted.
(WebKit::RemoteScrollingTreeTextStream::writeIndent): Deleted.
(WebKit::dumpProperty): Deleted.
(WebKit::RemoteScrollingTreeTextStream::operator<<): Deleted.
(WebKit::RemoteScrollingTreeTextStream::dump): Deleted.
(WebKit::RemoteScrollingTreeTextStream::recursiveDumpNodes): Deleted.
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::operator<<):
(WebKit::dumpChangedLayers):
(WebKit::RemoteLayerTreeTransaction::description):
(WebKit::RemoteLayerTreeTextStream::RemoteLayerTreeTextStream): Deleted.
(WebKit::RemoteLayerTreeTextStream::increaseIndent): Deleted.
(WebKit::RemoteLayerTreeTextStream::decreaseIndent): Deleted.
(WebKit::dumpProperty): Deleted.
(WebKit::RemoteLayerTreeTextStream::operator<<): Deleted.
(WebKit::RemoteLayerTreeTextStream::writeIndent): Deleted.
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
* WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:
(WebKit::operator<<):

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

6 years ago[Win] Fix the Windows build.
commit-queue@webkit.org [Sat, 17 Oct 2015 18:04:58 +0000 (18:04 +0000)]
[Win] Fix the Windows build.
https://bugs.webkit.org/show_bug.cgi?id=150278

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-10-17
Reviewed by Brent Fulgham.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:

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

6 years agoFixed typos from r191224.
mark.lam@apple.com [Sat, 17 Oct 2015 17:52:27 +0000 (17:52 +0000)]
Fixed typos from r191224.

Not reviewed.

* jit/JITSubGenerator.h:
(JSC::JITSubGenerator::generateFastPath):

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

6 years agoFix some generational heap growth pathologies
fpizlo@apple.com [Sat, 17 Oct 2015 17:26:24 +0000 (17:26 +0000)]
Fix some generational heap growth pathologies
https://bugs.webkit.org/show_bug.cgi?id=150270

Reviewed by Andreas Kling.

When doing generational copying, we would pretend that the size of old space was increased
just by the amount of bytes we copied. In reality, it would be increased by the number of
bytes used by the copied blocks we created. This is a larger number, and in some simple
pathological programs, the difference can be huge.

Fixing this bug was relatively easy, and the only really meaningful change here is in
Heap::updateAllocationLimits(). But to convince myself that the change was valid, I had to
add some debugging code and I had to refactor some stuff so that it made more sense.

This change does obviate the need for m_totalBytesCopied, because we no longer use it in
release builds to decide how much heap we are using at the end of collection. But I added a
FIXME about how we could restore our use of m_totalBytesCopied. So, I kept the logic, for
now. The FIXME references https://bugs.webkit.org/show_bug.cgi?id=150268.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/CopiedBlock.cpp: Added.
(JSC::CopiedBlock::createNoZeroFill):
(JSC::CopiedBlock::destroy):
(JSC::CopiedBlock::create):
(JSC::CopiedBlock::zeroFillWilderness):
(JSC::CopiedBlock::CopiedBlock):
* heap/CopiedBlock.h:
(JSC::CopiedBlock::didSurviveGC):
(JSC::CopiedBlock::createNoZeroFill): Deleted.
(JSC::CopiedBlock::destroy): Deleted.
(JSC::CopiedBlock::create): Deleted.
(JSC::CopiedBlock::zeroFillWilderness): Deleted.
(JSC::CopiedBlock::CopiedBlock): Deleted.
* heap/CopiedSpaceInlines.h:
(JSC::CopiedSpace::startedCopying):
* heap/Heap.cpp:
(JSC::Heap::updateObjectCounts):
(JSC::Heap::resetVisitors):
(JSC::Heap::capacity):
(JSC::Heap::protectedGlobalObjectCount):
(JSC::Heap::collectImpl):
(JSC::Heap::willStartCollection):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didFinishCollection):
(JSC::Heap::sizeAfterCollect): Deleted.
* heap/Heap.h:
* heap/HeapInlines.h:
(JSC::Heap::shouldCollect):
(JSC::Heap::isBusy):
(JSC::Heap::collectIfNecessaryOrDefer):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::create):
(JSC::MarkedBlock::destroy):

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

6 years agoURTBF after r191194 to fix EFL build.
ossy@webkit.org [Sat, 17 Oct 2015 08:23:35 +0000 (08:23 +0000)]
URTBF after r191194 to fix EFL build.
https://bugs.webkit.org/show_bug.cgi?id=150272

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-10-17
Reviewed by Csaba Osztrogonác.

* UIProcess/efl/WebContextMenuProxyEfl.cpp:
(WebKit::WebContextMenuProxyEfl::showContextMenu):
* UIProcess/efl/WebContextMenuProxyEfl.h:

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

6 years agoFinalize bug 149952 patch
youenn.fablet@crf.canon.fr [Sat, 17 Oct 2015 07:10:10 +0000 (07:10 +0000)]
Finalize bug 149952 patch
https://bugs.webkit.org/show_bug.cgi?id=150238

Reviewed by Darin Adler.

No change in behavior.

* bindings/js/JSDOMConstructor.h:
(WebCore::JSDOMConstructor<JSClass>::finishCreation): Marked as inline.
(WebCore::JSDOMConstructor<JSClass>::getConstructData): Marked as inline.

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

6 years agoRemove [ Debug ] qualifiers from expectations for some imported Blink test,
ap@apple.com [Sat, 17 Oct 2015 05:20:48 +0000 (05:20 +0000)]
Remove [ Debug ] qualifiers from expectations for some imported Blink test,
as they sometimes fail in release too.

* platform/mac-wk2/TestExpectations:

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

6 years ago[EFL, AppleWin] WTF.ConcatenateCharacterArrayAndEmptyString API test failed
akling@apple.com [Sat, 17 Oct 2015 04:48:50 +0000 (04:48 +0000)]
[EFL, AppleWin] WTF.ConcatenateCharacterArrayAndEmptyString API test failed
<https://webkit.org/b/150153>

Unreviewed.

Just use simple arrays of LChar and UChar for this test instead of creating String
objects and then getting the characters8()/characters16() from them, since that
doesn't guarantee null-termination (the bug.)

* TestWebKitAPI/Tests/WTF/StringOperators.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::build): Deleted.

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

6 years ago[ES6] Implement String.prototype.normalize
utatane.tea@gmail.com [Sat, 17 Oct 2015 04:37:16 +0000 (04:37 +0000)]
[ES6] Implement String.prototype.normalize
https://bugs.webkit.org/show_bug.cgi?id=150094

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patch implements String.prototype.normalize leveraging ICU.
It can provide the feature applying {NFC, NFD, NFKC, NFKD} normalization to a given string.

* runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::normalize):
(JSC::stringProtoFuncNormalize):
* tests/es6.yaml:
* tests/stress/string-normalize.js: Added.
(unicode):
(shouldBe):
(shouldThrow):
(normalizeTest):

LayoutTests:

* js/Object-getOwnPropertyNames-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:

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

6 years agoRenderBlockFlow::*logical*ForFloat should take FloatingObject reference.
zalan@apple.com [Sat, 17 Oct 2015 03:36:56 +0000 (03:36 +0000)]
RenderBlockFlow::*logical*ForFloat should take FloatingObject reference.
https://bugs.webkit.org/show_bug.cgi?id=150266

Reviewed by Simon Fraser.

No change in behaviour.

* rendering/FloatingObjects.cpp:
(WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining):
(WebCore::ComputeFloatOffsetAdapter<FloatTypeValue>::collectIfNeeded):
(WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
(WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::repaintOverhangingFloats):
(WebCore::RenderBlockFlow::insertFloatingObject):
(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::removeFloatingObjectsBelow):
(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
(WebCore::RenderBlockFlow::positionNewFloats):
(WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
(WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):
(WebCore::RenderBlockFlow::addOverhangingFloats):
(WebCore::RenderBlockFlow::hasOverhangingFloat):
(WebCore::RenderBlockFlow::addIntrudingFloats):
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::logicalTopForFloat):
(WebCore::RenderBlockFlow::logicalBottomForFloat):
(WebCore::RenderBlockFlow::logicalLeftForFloat):
(WebCore::RenderBlockFlow::logicalRightForFloat):
(WebCore::RenderBlockFlow::logicalWidthForFloat):
(WebCore::RenderBlockFlow::logicalHeightForFloat):
(WebCore::RenderBlockFlow::setLogicalTopForFloat):
(WebCore::RenderBlockFlow::setLogicalLeftForFloat):
(WebCore::RenderBlockFlow::setLogicalHeightForFloat):
(WebCore::RenderBlockFlow::setLogicalWidthForFloat):
(WebCore::RenderBlockFlow::logicalSizeForFloat): Deleted.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
(WebCore::RenderBlockFlow::positionNewFloatOnLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::addOverflowFromChild):
* rendering/RenderBox.h:
(WebCore::RenderBox::addOverflowFromChild):
* rendering/line/BreakingContext.h:
(WebCore::BreakingContext::handleFloat):
* rendering/line/LineWidth.cpp:
(WebCore::newFloatShrinksLine):
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::computeDeltasForContainingBlockLine):

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

6 years agoAvoid to insert TAB before HTML element.
commit-queue@webkit.org [Sat, 17 Oct 2015 02:15:20 +0000 (02:15 +0000)]
Avoid to insert TAB before HTML element.
https://bugs.webkit.org/show_bug.cgi?id=149295
<rdar://problem/22746706>

Patch by Jiewen Tan <jiewen_tan@apple.com> on 2015-10-16
Reviewed by Ryosuke Niwa.

Source/WebCore:

This is a merge of Blink r175047:
https://codereview.chromium.org/306583005

This patch avoids InsertTextCommand::insertTab before HTML element because
we can't set Text node as document element.

Test: editing/execCommand/insert-tab-to-html-element-crash.html

* editing/InsertTextCommand.cpp:
(WebCore::InsertTextCommand::insertTab):

LayoutTests:

* editing/execCommand/insert-tab-to-html-element-crash-expected.txt: Added.
* editing/execCommand/insert-tab-to-html-element-crash.html: Added.

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

6 years agoUpdate JavaScriptCore API docs
ggaren@apple.com [Fri, 16 Oct 2015 23:57:35 +0000 (23:57 +0000)]
Update JavaScriptCore API docs
https://bugs.webkit.org/show_bug.cgi?id=150262

Reviewed by Mark Lam.

Apply some edits for clarity. These came out of a docs review.

* API/JSContext.h:
* API/JSExport.h:
* API/JSManagedValue.h:
* API/JSValue.h:

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

6 years agoUnreviewed, rolling out r191204.
commit-queue@webkit.org [Fri, 16 Oct 2015 23:48:45 +0000 (23:48 +0000)]
Unreviewed, rolling out r191204.
https://bugs.webkit.org/show_bug.cgi?id=150263

This change is causing existing tests to fail (Requested by
ryanhaddad on #webkit).

Reverted changeset:

"Computed style should work correctly with slotted elements
that have display:none"
https://bugs.webkit.org/show_bug.cgi?id=150237
http://trac.webkit.org/changeset/191204

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

6 years agoAdd a WKWebView input delegate SPI
wenson_hsieh@apple.com [Fri, 16 Oct 2015 23:47:10 +0000 (23:47 +0000)]
Add a WKWebView input delegate SPI
https://bugs.webkit.org/show_bug.cgi?id=149646

Reviewed by Dan Bernstein.

Renames the existing _WKFormDelegate to _WKInputDelegate and adds a new delegate SPI method
-[_WKInputDelegate _webView:focusShouldStartInputSession:] that allows clients to allow or
disallow showing up the keyboard. To make this decision, clients are given a
_WKFocusedElementInfo, which contains information about the focused element prior to the
keyboard showing up so the client will be able to override default assistance behavior.

While the information contained in a _WKFocusedElementInfo currently seems like overkill for
_webView:focusShouldStartInputSession, our intentions are to give WebKit clients control over more
details of how node assistance works, such as being able to use a custom editor for certain
types of nodes.

* Shared/API/Cocoa/WebKitPrivate.h: Added new header _WKFocusedElementInfo.h.
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _inputDelegate]):
(-[WKWebView _formDelegate]):
(-[WKWebView _setInputDelegate:]):
(-[WKWebView _setFormDelegate:]):
(-[WKWebView initWithFrame:configuration:]): Deleted canAssistOnProgrammaticFocus flag.
(-[WKWebView canAssistOnProgrammaticFocus]): Ditto.
(-[WKWebView setCanAssistOnProgrammaticFocus:]): Ditto.
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]): Deleted.
(-[WKWebViewConfiguration _canAssistOnProgrammaticFocus]): Deleted canAssistOnProgrammaticFocus flag.
(-[WKWebViewConfiguration _setCanAssistOnProgrammaticFocus:]): Ditto.
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/Cocoa/_WKFocusedElementInfo.h: Added.
* UIProcess/API/Cocoa/_WKFormDelegate.h:
* UIProcess/API/Cocoa/_WKInputDelegate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKFormDelegate.h.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKFocusedElementInfo initWithAssistedNodeInformation:isInteracting:]):
(-[WKFocusedElementInfo type]):
(-[WKFocusedElementInfo value]):
(-[WKFocusedElementInfo isUserInitiated]):
(-[WKContentView accessoryAutoFill]):
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): If the input delegate responds to
    shouldStartInputSession, consult it to see if we should bring up the keyboard; otherwise, use our default behavior.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoUnreviewed. Fix typo in TypeError messages in TypedArray.prototype.forEach/filter.
keith_miller@apple.com [Fri, 16 Oct 2015 23:40:54 +0000 (23:40 +0000)]
Unreviewed. Fix typo in TypeError messages in TypedArray.prototype.forEach/filter.

* builtins/TypedArray.prototype.js:
(forEach):
(filter):

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

6 years agoUse JITSubGenerator to support UntypedUse operands for op_sub in the DFG.
mark.lam@apple.com [Fri, 16 Oct 2015 23:26:14 +0000 (23:26 +0000)]
Use JITSubGenerator to support UntypedUse operands for op_sub in the DFG.
https://bugs.webkit.org/show_bug.cgi?id=150038

Reviewed by Geoffrey Garen.

* bytecode/SpeculatedType.h:
(JSC::isUntypedSpeculationForArithmetic): Added
- Also fixed some comments.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

* dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::resultType):
* dfg/DFGAbstractValue.h:
- Added function to compute the ResultType of an operand from its SpeculatedType.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- Fix up ArithSub to speculate its operands to be numbers.  But if an OSR exit
  due to a BadType was seen at this node, we'll fix it up to expect UntypedUse
  operands.  This gives the generated code a change to run fast if it only
  receives numeric operands.

* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateUntypedForArithmetic):

* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
- Add the C++ runtime function to implement op_sub when we really encounter the
  hard types in the operands.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithSub):
- Added support for UntypedUse operands using the JITSubGenerator.

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::silentSpillAllRegisters):
(JSC::DFG::SpeculativeJIT::pickCanTrample):
(JSC::DFG::SpeculativeJIT::callOperation):

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- Just refuse to FTL compile functions with UntypedUse op_sub operands for now.

* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::boxDouble):
(JSC::AssemblyHelpers::unboxDoubleNonDestructive):
(JSC::AssemblyHelpers::unboxDouble):
(JSC::AssemblyHelpers::boxBooleanPayload):
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_sub):

* jit/JITSubGenerator.h:
(JSC::JITSubGenerator::generateFastPath):
(JSC::JITSubGenerator::endJumpList):
- Added some asserts to document the contract that this generator expects in
  terms of its incoming registers.

  Also fixed the generated code to not be destructive with regards to incoming
  registers.  The DFG expects this.

  Also added an endJumpList so that we don't have to jump twice for the fast
  path where both operands are ints.

* parser/ResultType.h:
(JSC::ResultType::ResultType):
- Make the internal Type bits and the constructor private.  Clients should only
  create ResultType values using one of the provided factory methods.

* tests/stress/op_sub.js: Added.
(o1.valueOf):
(stringify):
(generateScenarios):
(printScenarios):
(testCases.func):
(func):
(initializeTestCases):
(runTest):
- test op_sub results by comparing one LLINT result against the output of
  multiple LLINT, and JIT runs.  This test assume that we'll at least get the
  right result some of the time (if not all the time), and confirms that the
  various engines produce consistent results for all the various value pairs
  being tested.

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

6 years agoDisabled content blockers should not block any loads
achristensen@apple.com [Fri, 16 Oct 2015 23:21:14 +0000 (23:21 +0000)]
Disabled content blockers should not block any loads
https://bugs.webkit.org/show_bug.cgi?id=150261

Reviewed by Brady Eidson.

This fix was tested manually by reloading without content blockers
on websites with iframes and content blockers that block the contents of the iframes.

* page/UserContentController.cpp:
(WebCore::UserContentController::removeAllUserContentExtensions):
(WebCore::contentExtensionsEnabled):
(WebCore::UserContentController::processContentExtensionRulesForLoad):
(WebCore::UserContentController::actionsForResourceLoad):
Check the DocumentLoader of the main frame when checking if content extensions are disabled,
because that is the DocumentLoader that has the flag from reloading without content blockers.

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

6 years agoFix flakey test that was added for:
beidson@apple.com [Fri, 16 Oct 2015 23:15:12 +0000 (23:15 +0000)]
Fix flakey test that was added for:
Modern IDB: Add versionchange events.
https://bugs.webkit.org/show_bug.cgi?id=150149

Test flakes because two events come in different orders.

The event order actually does not matter.
The test just needs to handle either order.

* storage/indexeddb/modern/versionchange-event-expected.txt:
* storage/indexeddb/modern/versionchange-event.html:

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

6 years agoCopyBarrier must be avoided for slow TypedArrays
fpizlo@apple.com [Fri, 16 Oct 2015 22:53:11 +0000 (22:53 +0000)]
CopyBarrier must be avoided for slow TypedArrays
https://bugs.webkit.org/show_bug.cgi?id=150217
rdar://problem/23128791

Reviewed by Michael Saboff.

Change how we access array buffer views so that we don't fire the barrier slow path, and
don't mask off the spaceBits, if the view is not FastTypedArray. That's because in that case
m_vector could be misaligned and so have meaningful non-space data in the spaceBits. Also in
that case, m_vector does not point into copied space.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetTypedArrayByteOffset):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::loadVectorWithBarrier):
(JSC::FTL::DFG::LowerDFGToLLVM::copyBarrier):
(JSC::FTL::DFG::LowerDFGToLLVM::isInToSpace):
(JSC::FTL::DFG::LowerDFGToLLVM::loadButterflyReadOnly):
(JSC::FTL::DFG::LowerDFGToLLVM::loadVectorReadOnly):
(JSC::FTL::DFG::LowerDFGToLLVM::removeSpaceBits):
(JSC::FTL::DFG::LowerDFGToLLVM::isFastTypedArray):
(JSC::FTL::DFG::LowerDFGToLLVM::baseIndex):
* heap/CopyBarrier.h:
(JSC::CopyBarrierBase::getWithoutBarrier):
(JSC::CopyBarrierBase::getPredicated):
(JSC::CopyBarrierBase::get):
(JSC::CopyBarrierBase::copyState):
(JSC::CopyBarrier::get):
(JSC::CopyBarrier::getPredicated):
(JSC::CopyBarrier::set):
* heap/Heap.cpp:
(JSC::Heap::copyBarrier):
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::branchIfNotType):
(JSC::AssemblyHelpers::branchIfFastTypedArray):
(JSC::AssemblyHelpers::branchIfNotFastTypedArray):
(JSC::AssemblyHelpers::loadTypedArrayVector):
(JSC::AssemblyHelpers::purifyNaN):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchStructure):
(JSC::AssemblyHelpers::branchIfToSpace):
(JSC::AssemblyHelpers::branchIfNotToSpace):
(JSC::AssemblyHelpers::removeSpaceBits):
(JSC::AssemblyHelpers::addressForByteOffset):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitIntTypedArrayGetByVal):
(JSC::JIT::emitFloatTypedArrayGetByVal):
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):
* runtime/JSArrayBufferView.h:
(JSC::JSArrayBufferView::vector):
(JSC::JSArrayBufferView::length):
* runtime/JSArrayBufferViewInlines.h:
(JSC::JSArrayBufferView::byteOffset):
* runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::typedVector):
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::copyBackingStore):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):
* tests/stress/misaligned-int8-view-byte-offset.js: Added.
* tests/stress/misaligned-int8-view-read.js: Added.
* tests/stress/misaligned-int8-view-write.js: Added.

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

6 years agoUnreviewed. Build fix for 191215.
keith_miller@apple.com [Fri, 16 Oct 2015 22:51:31 +0000 (22:51 +0000)]
Unreviewed. Build fix for 191215.

* jit/IntrinsicEmitter.cpp:

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

6 years agoTest fix after r191211
bfulgham@apple.com [Fri, 16 Oct 2015 22:44:42 +0000 (22:44 +0000)]
Test fix after r191211

Tell the 'Plug-ins.html' test to allow enumeration of all plugins.

* fast/dom/Window/Plug-ins.html:

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

6 years agoRemoving non-existent test from test expectations file
commit-queue@webkit.org [Fri, 16 Oct 2015 22:41:50 +0000 (22:41 +0000)]
Removing non-existent test from test expectations file
https://bugs.webkit.org/show_bug.cgi?id=150250

Patch by Ryan Haddad <ryanhaddad@apple.com> on 2015-10-16
Reviewed by Simon Fraser.

* platform/mac/TestExpectations:

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

6 years ago[Win] Update initial-letter test expectation for Win port.
zalan@apple.com [Fri, 16 Oct 2015 22:37:52 +0000 (22:37 +0000)]
[Win] Update initial-letter test expectation for Win port.

Unreviewed gardening.

* platform/win/TestExpectations:

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

6 years agoMake TextStream the canonical way to log classes in WebCore
simon.fraser@apple.com [Fri, 16 Oct 2015 22:31:26 +0000 (22:31 +0000)]
Make TextStream the canonical way to log classes in WebCore
https://bugs.webkit.org/show_bug.cgi?id=150256

Reviewed by Sam Weinig.

We vacillated between PrintStream and TextStream as being the canonical way
to stringify WebCore data structures. This patch solidifies TextStream
as the solution, since it has convenient stream syntax, and is what we
use for render tree dumps.

Remove TextStream member functions that output non-simple structs
(sizes, points and rects), replacing them with free operator<< functions
in the .cpp file for the relevant class. Formatting is currently consistent
with RenderTreeAsText output, to avoid breaking tests.

Remove custom FloatRect outputting in SVG and RemoteLayerTreeTransaction.

Source/WebCore:

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/FloatPoint.cpp:
(WebCore::operator<<):
(WebCore::FloatPoint::dump): Deleted.
* platform/graphics/FloatPoint.h:
* platform/graphics/FloatRect.cpp:
(WebCore::operator<<):
(WebCore::FloatRect::dump): Deleted.
* platform/graphics/FloatRect.h:
* platform/graphics/FloatSize.cpp:
(WebCore::FloatSize::FloatSize):
(WebCore::operator<<):
(WebCore::FloatSize::dump): Deleted.
* platform/graphics/FloatSize.h:
* platform/graphics/IntPoint.cpp:
(WebCore::operator<<):
(WebCore::IntPoint::dump): Deleted.
* platform/graphics/IntPoint.h:
* platform/graphics/IntRect.cpp:
(WebCore::operator<<):
(WebCore::IntRect::dump): Deleted.
* platform/graphics/IntRect.h:
* platform/graphics/IntSize.cpp:
(WebCore::operator<<):
(WebCore::IntSize::dump): Deleted.
* platform/graphics/IntSize.h:
* platform/graphics/LayoutPoint.cpp: Copied from Source/WebCore/platform/graphics/IntPoint.cpp.
(WebCore::operator<<):
* platform/graphics/LayoutPoint.h:
* platform/graphics/LayoutRect.cpp:
(WebCore::operator<<):
* platform/graphics/LayoutRect.h:
* platform/graphics/LayoutSize.cpp: Copied from Source/WebCore/platform/graphics/IntPoint.cpp.
(WebCore::operator<<):
* platform/graphics/LayoutSize.h:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::dump):
* platform/text/TextStream.cpp:
(WebCore::TextStream::operator<<):
* platform/text/TextStream.h:
* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<): Deleted.

Source/WebKit2:

* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(WebKit::RemoteScrollingTreeTextStream::operator<<): Deleted.
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTextStream::operator<<): Deleted.

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

6 years agoAdd Intrinsic Getters and use them to fix performance on the getters of TypedArray...
keith_miller@apple.com [Fri, 16 Oct 2015 22:18:42 +0000 (22:18 +0000)]
Add Intrinsic Getters and use them to fix performance on the getters of TypedArray properties.
https://bugs.webkit.org/show_bug.cgi?id=149687

Patch by Keith Miller <keith@Keiths-MacBook-Pro-5.local> on 2015-10-16
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add the ability to create intrinsic getters in both the inline cache and the DFG/FTL. When the
getter fetched by a GetById has an intrinsic we know about we add a new intrinsic access case.
Once we get to the DFG, we observe that the access case was an intrinsic and add an appropriate
GetByIdVariant. We then parse the intrinsic into an appropriate DFG node.

The first intrinsics are the new TypedArray prototype getters length, byteLength, and byteOffset.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
(JSC::GetByIdStatus::computeFor):
* bytecode/GetByIdVariant.cpp:
(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::operator=):
(JSC::GetByIdVariant::canMergeIntrinsicStructures):
(JSC::GetByIdVariant::attemptToMerge):
(JSC::GetByIdVariant::dumpInContext):
* bytecode/GetByIdVariant.h:
(JSC::GetByIdVariant::intrinsicFunction):
(JSC::GetByIdVariant::intrinsic):
(JSC::GetByIdVariant::callLinkStatus): Deleted.
* bytecode/PolymorphicAccess.cpp:
(JSC::AccessGenerationState::addWatchpoint):
(JSC::AccessGenerationState::restoreScratch):
(JSC::AccessGenerationState::succeed):
(JSC::AccessGenerationState::calculateLiveRegistersForCallAndExceptionHandling):
(JSC::AccessGenerationState::preserveLiveRegistersToStackForCall):
(JSC::AccessGenerationState::restoreLiveRegistersFromStackForCall):
(JSC::AccessGenerationState::restoreLiveRegistersFromStackForCallWithThrownException):
(JSC::AccessGenerationState::callSiteIndexForExceptionHandlingOrOriginal):
(JSC::AccessGenerationState::originalExceptionHandler):
(JSC::AccessGenerationState::originalCallSiteIndex):
(JSC::AccessCase::getIntrinsic):
(JSC::AccessCase::clone):
(JSC::AccessCase::visitWeak):
(JSC::AccessCase::generate):
(WTF::printInternal):
(JSC::AccessCase::AccessCase): Deleted.
(JSC::AccessCase::get): Deleted.
(JSC::AccessCase::replace): Deleted.
(JSC::AccessCase::transition): Deleted.
* bytecode/PolymorphicAccess.h:
(JSC::AccessCase::isGet):
(JSC::AccessCase::isPut):
(JSC::AccessCase::isIn):
(JSC::AccessCase::intrinsicFunction):
(JSC::AccessCase::intrinsic):
(JSC::AccessGenerationState::AccessGenerationState):
(JSC::AccessGenerationState::liveRegistersForCall):
(JSC::AccessGenerationState::callSiteIndexForExceptionHandling):
(JSC::AccessGenerationState::numberOfStackBytesUsedForRegisterPreservation):
(JSC::AccessGenerationState::needsToRestoreRegistersIfException):
(JSC::AccessGenerationState::liveRegistersToPreserveAtExceptionHandlingCallSite):
* bytecode/PutByIdVariant.h:
(JSC::PutByIdVariant::intrinsic):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::alreadyChecked):
(JSC::DFG::arrayTypeToString):
(JSC::DFG::toTypedArrayType):
(JSC::DFG::refineTypedArrayType):
(JSC::DFG::permitsBoundsCheckLowering):
* dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::supportsLength):
(JSC::DFG::ArrayMode::isSomeTypedArrayView):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::handleIntrinsicGetter):
(JSC::DFG::ByteCodeParser::load):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::presenceLike): Deleted.
(JSC::DFG::ByteCodeParser::store): Deleted.
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::convertToGetArrayLength): Deleted.
(JSC::DFG::FixupPhase::prependGetArrayLength): Deleted.
(JSC::DFG::FixupPhase::fixupChecksInBlock): Deleted.
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::tryGetFoldableView):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetArrayLength):
* jit/IntrinsicEmitter.cpp: Added.
(JSC::AccessCase::canEmitIntrinsicGetter):
(JSC::AccessCase::emitIntrinsicGetter):
* jit/Repatch.cpp:
(JSC::tryCacheGetByID):
* runtime/Intrinsic.h:
* runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::put):
(JSC::JSArrayBufferView::defineOwnProperty):
(JSC::JSArrayBufferView::deleteProperty):
(JSC::JSArrayBufferView::getOwnNonIndexPropertyNames):
(JSC::JSArrayBufferView::getOwnPropertySlot): Deleted.
(JSC::JSArrayBufferView::finalize): Deleted.
* runtime/JSDataView.cpp:
(JSC::JSDataView::getOwnPropertySlot):
(JSC::JSDataView::put):
(JSC::JSDataView::defineOwnProperty):
(JSC::JSDataView::deleteProperty):
(JSC::JSDataView::getOwnNonIndexPropertyNames):
* runtime/JSDataView.h:
* runtime/JSFunction.h:
* runtime/JSFunctionInlines.h:
(JSC::JSFunction::intrinsic):
* runtime/JSGenericTypedArrayView.h:
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlot):
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::deleteProperty):
(JSC::JSGenericTypedArrayView<Adaptor>::getOwnPropertySlotByIndex): Deleted.
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren): Deleted.
* runtime/JSObject.cpp:
(JSC::JSObject::putDirectNativeIntrinsicGetter):
* runtime/JSObject.h:
* runtime/JSTypedArrayViewPrototype.cpp:
(JSC::JSTypedArrayViewPrototype::finishCreation):
* tests/stress/typedarray-add-property-to-base-object.js: Added.
(body.foo):
(body):
* tests/stress/typedarray-bad-getter.js: Added.
(body.foo):
(body.get Bar):
(body):
* tests/stress/typedarray-getter-on-self.js: Added.
(body.foo):
(body.bar):
(body.baz):
(body.get for):
(body):
* tests/stress/typedarray-intrinsic-getters-change-prototype.js: Added.
(body.foo):
(body.bar):
(body.baz):
(body):

LayoutTests:

Fix test since typedarrays no longer have length as a own property.

* js/dom/getOwnPropertyDescriptor-expected.txt:
* js/resources/getOwnPropertyDescriptor.js:

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

6 years agoWebKit2.AutoLayoutIntegration API test is failing on some of the bots
timothy_horton@apple.com [Fri, 16 Oct 2015 22:09:57 +0000 (22:09 +0000)]
WebKit2.AutoLayoutIntegration API test is failing on some of the bots
https://bugs.webkit.org/show_bug.cgi?id=150255

Reviewed by Simon Fraser.

* Scripts/run-api-tests:
(runTest):
* TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm:
(-[AutoLayoutWKWebView load:withWidth:expectingContentSize:]):
(-[AutoLayoutWKWebView layoutAtMinimumWidth:andExpectContentSizeChange:]):
(-[AutoLayoutWKWebView load:expectingContentSize:]): Deleted.
(-[AutoLayoutWKWebView expectContentSizeChange:]): Deleted.
Don't set the layout size until after the load finishes and we're waiting
for the reply, so that there is no race between the new size coming in
and us waiting for it.

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

6 years agoWebEditingDelegate should be a formal protocol
andersca@apple.com [Fri, 16 Oct 2015 21:58:58 +0000 (21:58 +0000)]
WebEditingDelegate should be a formal protocol
https://bugs.webkit.org/show_bug.cgi?id=150254
<rdar://problem/23149847>

Reviewed by Dan Bernstein.

Source/WebKit/mac:

* WebView/WebEditingDelegate.h:
Move all the delegate methods inside the protocol declaration. Also make the header self-contained.

* WebView/WebView.h:
Change the type of the editing delegate and make it assign.

Tools:

* DumpRenderTree/mac/EditingDelegate.h:
Conform to the WebEditingDelegate protocol.

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

6 years agoFix some issues with TypedArrays
keith_miller@apple.com [Fri, 16 Oct 2015 21:40:21 +0000 (21:40 +0000)]
Fix some issues with TypedArrays
https://bugs.webkit.org/show_bug.cgi?id=150216

Reviewed by Geoffrey Garen.

This fixes a couple of issues:
1) The DFG had a separate case for creating new typedarrays in the dfg when the first argument is an object.
   Since the code for creating a Typedarray in the dfg is almost the same as the code in Baseline/LLInt
   the two cases have been merged.
2) If the length property on an object was unset then the construction could crash.
3) The TypedArray.prototype.set function and the TypedArray constructor should not call [[Get]] for the
   length of the source object when the source object is a TypedArray.
4) The conditions that were used to decide if the iterator could be skipped were incorrect.
   Instead of checking for have a bad time we should have checked the Indexing type did not allow for
   indexed accessors.

* dfg/DFGOperations.cpp:
* runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
(JSC::constructGenericTypedArrayViewWithFirstArgument): Deleted.

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

6 years agoHide all plugin names except Flash, Java, and QuickTime
bfulgham@apple.com [Fri, 16 Oct 2015 21:25:52 +0000 (21:25 +0000)]
Hide all plugin names except Flash, Java, and QuickTime
https://bugs.webkit.org/show_bug.cgi?id=149014

Reviewed by Darin Adler.

Source/WebCore:

Revise plugin interface so that sites cannot iterate over all plugins to obtain
a list of installed plugins for fingerprinting purposes. Sites need to ask for
specific plugins by name, rather than iterating and comparing to avoid making
this information accessible for fingerprinting purposes.

* plugins/DOMPluginArray.cpp:
(WebCore::DOMPluginArray::length): Only return length of the plugins we are
allowing to be seen.
(WebCore::DOMPluginArray::item): Only iterate through the plugins we are
allowing to be seen.
* plugins/PluginData.cpp:
(WebCore::PluginData::publiclyVisiblePlugins): Added.
* plugins/PluginData.h:

LayoutTests:

Update tests to notify internals that all plugins should be shown, not
just the publicly available ones.

* plugins/plugin-javascript-access.html:
* plugins/script-tests/navigator-mimeTypes-length.js:

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

6 years ago"enum class" some IDB enums.
beidson@apple.com [Fri, 16 Oct 2015 21:10:58 +0000 (21:10 +0000)]
"enum class" some IDB enums.
https://bugs.webkit.org/show_bug.cgi?id=150246

Reviewed by Alex Christensen.

No new tests (No change in behavior).

* Modules/indexeddb/IDBKeyPath.cpp:
(WebCore::IDBIsValidKeyPath):
(WebCore::IDBParseKeyPath):
(WebCore::IDBKeyPath::IDBKeyPath):
(WebCore::IDBKeyPath::isValid):
(WebCore::IDBKeyPath::operator==):
(WebCore::IDBKeyPath::encode):
(WebCore::IDBKeyPath::decode):
* Modules/indexeddb/IDBKeyPath.h:
(WebCore::IDBKeyPath::IDBKeyPath):
(WebCore::IDBKeyPath::type):
(WebCore::IDBKeyPath::array):
(WebCore::IDBKeyPath::string):
(WebCore::IDBKeyPath::isNull):
(WebCore::IDBKeyPath::encode):
(WebCore::IDBKeyPath::decode):
* Modules/indexeddb/IndexedDB.h:
* Modules/indexeddb/legacy/LegacyDatabase.cpp:
(WebCore::LegacyDatabase::createObjectStore):
* Modules/indexeddb/legacy/LegacyObjectStore.cpp:
(WebCore::LegacyObjectStore::createIndex):
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::internalCreateIDBKeyFromScriptValueAndKeyPath):
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::canInjectIDBKeyIntoScriptValue):
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* inspector/InspectorIndexedDBAgent.cpp:

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

6 years agoAdd indexeddb/shared to the include paths.
andersca@apple.com [Fri, 16 Oct 2015 21:08:55 +0000 (21:08 +0000)]
Add indexeddb/shared to the include paths.

* WebCore.vcxproj/WebCoreIncludeCommon.props:

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

6 years agoFix Windows build.
andersca@apple.com [Fri, 16 Oct 2015 21:06:59 +0000 (21:06 +0000)]
Fix Windows build.

* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:

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

6 years agoREGRESSION (r191175): Still crashing when clicking back button on netflix.com
msaboff@apple.com [Fri, 16 Oct 2015 21:06:00 +0000 (21:06 +0000)]
REGRESSION (r191175): Still crashing when clicking back button on netflix.com
https://bugs.webkit.org/show_bug.cgi?id=150251

Rubber stamped by Filip Pizlo.

Turning off Tail Calls and disabling tests until the crash is fixed.

Source/JavaScriptCore:

* runtime/Options.h:
* tests/es6.yaml:
* tests/stress/dfg-tail-calls.js:
(nonInlinedTailCall.callee):
* tests/stress/mutual-tail-call-no-stack-overflow.js:
(shouldThrow):
* tests/stress/tail-call-in-inline-cache.js:
(tail):
* tests/stress/tail-call-no-stack-overflow.js:
(shouldThrow):
* tests/stress/tail-call-recognize.js:
(callerMustBeRun):
* tests/stress/tail-call-varargs-no-stack-overflow.js:
(shouldThrow):

LayoutTests:

* js/caller-property-expected.txt:

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

6 years agoRemove some dead menu code
andersca@apple.com [Fri, 16 Oct 2015 21:02:33 +0000 (21:02 +0000)]
Remove some dead menu code
https://bugs.webkit.org/show_bug.cgi?id=150247

Reviewed by Andreas Kling.

* Shared/WebContextMenuItemData.cpp:
(WebKit::WebContextMenuItemData::WebContextMenuItemData):
(WebKit::WebContextMenuItemData::encode): Deleted.
* Shared/WebContextMenuItemData.h:
(WebKit::WebContextMenuItemData::selectionHandler): Deleted.
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::nsMenuItem):

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