WebKit-https.git
5 years agoMarking more http/tests/xmlhttprequest/timeout/ tests as flaky, removing Yosemite...
commit-queue@webkit.org [Sat, 24 Oct 2015 00:42:39 +0000 (00:42 +0000)]
Marking more http/tests/xmlhttprequest/timeout/ tests as flaky, removing Yosemite-only flag
https://bugs.webkit.org/show_bug.cgi?id=150378

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

* platform/mac-wk2/TestExpectations:

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

5 years agoInvoke the context menu delegate callback right before we return the menu
andersca@apple.com [Sat, 24 Oct 2015 00:26:21 +0000 (00:26 +0000)]
Invoke the context menu delegate callback right before we return the menu
https://bugs.webkit.org/show_bug.cgi?id=150521

Reviewed by Tim Horton.

Move the getCustomMenuFromDefaultItems to WebHTMLView wholesale. This will allow us to get rid of the ContextMenuClient function from WebCore.

* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::getCustomMenuFromDefaultItems):
(isPreVersion3Client): Deleted.
(isPreInspectElementTagClient): Deleted.
(fixMenusToSendToOldClients): Deleted.
(fixMenusReceivedFromOldClients): Deleted.
* WebView/WebHTMLView.mm:
(isPreVersion3Client):
(isPreInspectElementTagClient):
(fixMenusToSendToOldClients):
(fixMenusReceivedFromOldClients):
(customMenuFromDefaultItems):
(-[WebHTMLView menuForEvent:]):

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

5 years agoWeb Inspector: xlink:href should be linkified
commit-queue@webkit.org [Sat, 24 Oct 2015 00:24:53 +0000 (00:24 +0000)]
Web Inspector: xlink:href should be linkified
https://bugs.webkit.org/show_bug.cgi?id=150505

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-10-23
Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js:
When opening a URL with a fragment, prefer opening a resource
that has the same URL without the fragment, otherwise this would
open in a new tab.

* UserInterface/Base/URLUtilities.js:
(absoluteURL):
Better handling absoluteURL("#frag", baseURL).

* UserInterface/Views/CodeMirrorAdditions.js:
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
Allow for more "href" style attributes, such as XML namespaced
"xlink:href" attribute names.

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

5 years agoProgress towards CMake on Mac
achristensen@apple.com [Fri, 23 Oct 2015 23:55:41 +0000 (23:55 +0000)]
Progress towards CMake on Mac
https://bugs.webkit.org/show_bug.cgi?id=150517

Reviewed by Tim Horton.

Source/WebCore:

* PlatformMac.cmake:

Source/WebKit:

* PlatformMac.cmake:

Source/WebKit2:

* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: Removed.
* WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Removed.

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

5 years agoMore context menu simplification
andersca@apple.com [Fri, 23 Oct 2015 23:47:45 +0000 (23:47 +0000)]
More context menu simplification
https://bugs.webkit.org/show_bug.cgi?id=150519

Reviewed by Tim Horton.

There's no need to convert the menu items back to ContextMenuItems just so we can check whether its
represented object is the sharing service picker. Also, move the check to the second loop.

* WebView/WebHTMLView.mm:
(-[WebHTMLView menuForEvent:]):

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

5 years agoUpdating test expectation for animations/fill-forwards-end-state.html
commit-queue@webkit.org [Fri, 23 Oct 2015 23:07:18 +0000 (23:07 +0000)]
Updating test expectation for animations/fill-forwards-end-state.html
https://bugs.webkit.org/show_bug.cgi?id=150328#c11

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

* animations/fill-forwards-end-state-expected.txt:

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

5 years agoSimplify the WebKitLegacy menu conversion code
andersca@apple.com [Fri, 23 Oct 2015 21:34:27 +0000 (21:34 +0000)]
Simplify the WebKitLegacy menu conversion code
https://bugs.webkit.org/show_bug.cgi?id=150509

Reviewed by Andreas Kling.

Source/WebKit/mac:

* WebCoreSupport/WebContextMenuClient.mm:
(fixMenusToSendToOldClients):
(fixMenusReceivedFromOldClients):
(WebContextMenuClient::getCustomMenuFromDefaultItems):

Tools:

Implement the context menu delegate method so we'll test that code path.

* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController webView:contextMenuItemsForElement:defaultMenuItems:]):

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

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

* UIProcess/Cocoa/WebViewImpl.h:
Whoops.

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

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

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView hitTest:]):
(-[WKView _processDidExit]):
(-[WKView _setThumbnailView:]):
(-[WKView _thumbnailView]):
(-[WKFlippedView isFlipped]): Deleted.
(-[WKView dealloc]): Deleted.
(-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
(-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
(-[WKView _updateThumbnailViewLayer]): Deleted.
(-[WKView _reparentLayerTreeInThumbnailView]): Deleted.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::acceleratedCompositingRootLayer):
(WebKit::WebViewImpl::layerHostingView):
(WebKit::WebViewImpl::thumbnailView):
* UIProcess/Cocoa/WebViewImpl.mm:
(-[WKFlippedView isFlipped]):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::setAcceleratedCompositingRootLayer):
(WebKit::WebViewImpl::setThumbnailView):
(WebKit::WebViewImpl::reparentLayerTreeInThumbnailView):
(WebKit::WebViewImpl::updateThumbnailViewLayer):
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::exitAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):
(WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
(WebKit::PageClientImpl::acceleratedCompositingRootLayer):
Move accelerated compositing and thumbnail view code.

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

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

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView _superRemoveTrackingRect:]):
(-[WKView addTrackingRect:owner:userData:assumeInside:]):
(-[WKView _addTrackingRect:owner:userData:assumeInside:useTrackingNum:]):
(-[WKView _addTrackingRects:owner:userDataList:assumeInsideList:trackingNums:count:]):
(-[WKView removeTrackingRect:]):
(-[WKView _removeTrackingRects:count:]):
(-[WKView view:stringForToolTip:point:userData:]):
(-[WKView _toolTipChangedFrom:to:]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]): Deleted.
(-[WKView _acceleratedCompositingModeRootLayer]): Deleted.
(takeWindowSnapshot): Deleted.
* UIProcess/Cocoa/WebViewImpl.h:
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::addTrackingRect):
(WebKit::WebViewImpl::addTrackingRectWithTrackingNum):
(WebKit::WebViewImpl::addTrackingRectsWithTrackingNums):
(WebKit::WebViewImpl::removeTrackingRect):
(WebKit::WebViewImpl::removeTrackingRects):
(WebKit::WebViewImpl::sendToolTipMouseExited):
(WebKit::WebViewImpl::sendToolTipMouseEntered):
(WebKit::WebViewImpl::stringForToolTip):
(WebKit::WebViewImpl::toolTipChanged):
Move tooltip code.

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

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

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView _interpretKeyEvent:completionHandler:]):
(-[WKView inputContext]):
(-[WKView performKeyEquivalent:]):
(-[WKView keyDown:]):
(-[WKView _doneWithKeyEvent:eventWasHandled:]):
(-[WKView _setPluginComplexTextInputState:]): Deleted.
(-[WKView _disableComplexTextInputIfNecessary]): Deleted.
(-[WKView _handlePluginComplexTextInputKeyDown:]): Deleted.
(-[WKView _tryHandlePluginComplexTextInputKeyDown:]): Deleted.
(-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]): Deleted.
(-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]): Deleted.
(-[WKView _setPluginComplexTextInputState:pluginComplexTextInputIdentifier:]): Deleted.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::pluginComplexTextInputState):
(WebKit::WebViewImpl::pluginComplexTextInputIdentifier):
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::setPluginComplexTextInputState):
(WebKit::WebViewImpl::setPluginComplexTextInputStateAndIdentifier):
(WebKit::WebViewImpl::disableComplexTextInputIfNecessary):
(WebKit::WebViewImpl::handlePluginComplexTextInputKeyDown):
(WebKit::WebViewImpl::tryHandlePluginComplexTextInputKeyDown):
(WebKit::WebViewImpl::pluginFocusOrWindowFocusChanged):
(WebKit::WebViewImpl::tryPostProcessPluginComplexTextInputKeyDown):
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
(WebKit::PageClientImpl::setPluginComplexTextInputState):
Move a few more methods.

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

5 years ago[WinCairo] Improve test results for fast layouttests.
peavo@outlook.com [Fri, 23 Oct 2015 20:21:54 +0000 (20:21 +0000)]
[WinCairo] Improve test results for fast layouttests.
https://bugs.webkit.org/show_bug.cgi?id=150464

Reviewed by Alex Christensen.

Source/WebCore:

Disable the Mac ascent hack for WinCairo.

* platform/graphics/win/SimpleFontDataCairoWin.cpp:
(WebCore::Font::platformInit):

Tools:

Set custom device scale factor to 1.0.

* DumpRenderTree/win/DumpRenderTree.cpp:
(createWebViewAndOffscreenWindow):

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

5 years agoDon't override already existing represented objects on menu items
andersca@apple.com [Fri, 23 Oct 2015 19:19:56 +0000 (19:19 +0000)]
Don't override already existing represented objects on menu items
https://bugs.webkit.org/show_bug.cgi?id=150508

Reviewed by Tim Horton.

This fixes a crash/exception when a client implements webView:contextMenuItemsForElement:defaultMenuItems: and
the default menu has a share menu item.

* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::getCustomMenuFromDefaultItems):

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

5 years ago[Content Extensions] Add test for hiding content on <a ping> pings
commit-queue@webkit.org [Fri, 23 Oct 2015 19:06:23 +0000 (19:06 +0000)]
[Content Extensions] Add test for hiding content on <a ping> pings
https://bugs.webkit.org/show_bug.cgi?id=150499

Patch by Roopesh Chander <roop@roopc.net> on 2015-10-23
Reviewed by Alex Christensen.

Test for ensuring that <a ping> pings are subject to
'css-display-none' content blocking rules.

* http/tests/contentextensions/hide-on-ping-expected.txt: Added.
* http/tests/contentextensions/hide-on-ping.html: Added.
* http/tests/contentextensions/hide-on-ping.html.json: Added.

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

5 years ago[MediaStream] Fix UserMediaPermissionRequestProxy::invalidate
eric.carlson@apple.com [Fri, 23 Oct 2015 19:01:34 +0000 (19:01 +0000)]
[MediaStream] Fix UserMediaPermissionRequestProxy::invalidate
https://bugs.webkit.org/show_bug.cgi?id=150503
<rdar://problem/23235386>

Reviewed by Dean Jackson.

* UIProcess/UserMediaPermissionRequestProxy.cpp:
(WebKit::UserMediaPermissionRequestProxy::UserMediaPermissionRequestProxy): m_manager is a pointer.
(WebKit::UserMediaPermissionRequestProxy::allow): Return early if m_manager is null, clear it after
  calling the manager.
(WebKit::UserMediaPermissionRequestProxy::deny): Ditto.
(WebKit::UserMediaPermissionRequestProxy::invalidate): Clear m_manager.
* UIProcess/UserMediaPermissionRequestProxy.h: Change m_manager from a reference to a
  pointer so it can be cleared.

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

5 years ago[GTK] Minor web editor fixes
csaavedra@igalia.com [Fri, 23 Oct 2015 18:41:17 +0000 (18:41 +0000)]
[GTK] Minor web editor fixes
https://bugs.webkit.org/show_bug.cgi?id=150501

Reviewed by Carlos Garcia Campos.

* UIProcess/gtk/KeyBindingTranslator.cpp: Remove
"MoveParagraphForward/Backward" as these commands do not exist in
WebKit (anymore?).
* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::executePendingEditorCommands):
Editor::Command can take a String, no need to convert to a C char.

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

5 years agoREGRESSION (r187121): Multiple-keyframe animations not honouring ' forwards' fill...
simon.fraser@apple.com [Fri, 23 Oct 2015 18:29:45 +0000 (18:29 +0000)]
REGRESSION (r187121): Multiple-keyframe animations not honouring ' forwards' fill-mode
https://bugs.webkit.org/show_bug.cgi?id=150328

Reviewed by Dean Jackson.

Source/WebCore:

AnimationBase::getElapsedTime() for a finished animation would return 1 (a progress),
rather than a time value as the caller expects. Fix it to return the total duration
if the animation has finished. This fixes the bug.

Change CompositeAnimation::pauseAnimationAtTime() to be more permissive, allowing
testing of filling-forwards animations with the pause API.

Test: animations/fill-forwards-end-state.html

* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::getElapsedTime):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::pauseAnimationAtTime):

LayoutTests:

Filling-forwards test with an animation whose duration is greater than one second,
which showed the bug.

* animations/fill-forwards-end-state-expected.txt: Added.
* animations/fill-forwards-end-state.html: Added.

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

5 years agoFix the build by unapplying review comments.
timothy_horton@apple.com [Fri, 23 Oct 2015 18:07:55 +0000 (18:07 +0000)]
Fix the build by unapplying review comments.

* UIProcess/Cocoa/WebViewImpl.h:

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

5 years ago[ES6] Add DFG/FTL support for accessor put operations
utatane.tea@gmail.com [Fri, 23 Oct 2015 18:05:57 +0000 (18:05 +0000)]
[ES6] Add DFG/FTL support for accessor put operations
https://bugs.webkit.org/show_bug.cgi?id=148860

Reviewed by Geoffrey Garen.

This patch introduces accessor defining ops into DFG and FTL.
The following DFG nodes are introduced.

    op_put_getter_by_id  => PutGetterById
    op_put_setter_by_id  => PutSetterById
    op_put_getter_setter => PutGetterSetterById
    op_put_getter_by_val => PutGetterByVal
    op_put_setter_by_val => PutSetterByVal

These DFG nodes just call operations. But it does not prevent compiling in DFG/FTL.

To use operations defined for baseline JIT, we clean up existing operations.
And reuse these operations in DFG and FTL.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
* dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasAccessorAttributes):
(JSC::DFG::Node::accessorAttributes):
* dfg/DFGNodeType.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutAccessorById):
(JSC::DFG::SpeculativeJIT::compilePutGetterSetterById):
(JSC::DFG::SpeculativeJIT::compilePutAccessorByVal):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileNode):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutGetterSetterById):
(JSC::FTL::DFG::LowerDFGToLLVM::compilePutAccessorByVal):
* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter):
* tests/stress/dfg-put-accessors-by-id-class.js: Added.
(shouldBe):
(testAttribute):
(getter.Cocoa.prototype.get hello):
(getter.Cocoa):
(getter):
(setter.Cocoa):
(setter.Cocoa.prototype.set hello):
(setter):
(accessors.Cocoa):
(accessors.Cocoa.prototype.get hello):
(accessors.Cocoa.prototype.set hello):
(accessors):
* tests/stress/dfg-put-accessors-by-id.js: Added.
(shouldBe):
(testAttribute):
(getter.object.get hello):
(getter):
(setter.object.set hello):
(setter):
(accessors.object.get hello):
(accessors.object.set hello):
(accessors):
* tests/stress/dfg-put-getter-by-id-class.js: Added.
(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.get hello):
(getter.Cocoa.prototype.get name):
(getter):
* tests/stress/dfg-put-getter-by-id.js: Added.
(shouldBe):
(testAttribute):
(getter.object.get hello):
(getter):
* tests/stress/dfg-put-getter-by-val-class.js: Added.
(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.get name):
(getter):
* tests/stress/dfg-put-getter-by-val.js: Added.
(shouldBe):
(testAttribute):
(getter.object.get name):
(getter):
* tests/stress/dfg-put-setter-by-id-class.js: Added.
(shouldBe):
(testAttribute):
(getter.Cocoa):
(getter.Cocoa.prototype.set hello):
(getter.Cocoa.prototype.get name):
(getter):
* tests/stress/dfg-put-setter-by-id.js: Added.
(shouldBe):
(testAttribute):
(setter.object.set hello):
(setter):
* tests/stress/dfg-put-setter-by-val-class.js: Added.
(shouldBe):
(testAttribute):
(setter.Cocoa):
(setter.Cocoa.prototype.set name):
(setter):
* tests/stress/dfg-put-setter-by-val.js: Added.
(shouldBe):
(testAttribute):
(setter.object.set name):
(setter):

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

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

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView renewGState]):
(-[WKView writeSelectionToPasteboard:types:]):
(-[WKView centerSelectionInVisibleArea:]):
(-[WKView scrollWheel:]):
(-[WKView swipeWithEvent:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
(-[WKView pressureChangeWithEvent:]):
(-[WKView acceptsFirstMouse:]):
(-[WKView shouldDelayWindowOrderingForEvent:]):
(-[WKView performKeyEquivalent:]):
(-[WKView keyUp:]):
(-[WKView keyDown:]):
(-[WKView flagsChanged:]):
(-[WKView _superQuickLookWithEvent:]):
(-[WKView _addFontPanelObserver]):
(-[WKView viewWillMoveToWindow:]):
(-[WKView viewDidMoveToWindow]):
(-[WKView viewDidChangeBackingProperties]):
(-[WKView enableAccessibilityIfNecessary]):
(-[WKView quickLookWithEvent:]):
(-[WKView _colorSpace]):
(-[WKView _didRelaunchProcess]):
(-[WKView _setTextIndicator:]):
(-[WKView _setTextIndicator:withLifetime:]):
(-[WKView _clearTextIndicatorWithAnimation:]):
(-[WKView _setTextIndicatorAnimationProgress:]):
(-[WKView initWithFrame:processPool:configuration:webView:]):
(-[WKView _didPerformImmediateActionHitTest:contentPreventsDefault:userData:]):
(-[WKView _internalImmediateActionAnimationControllerForHitTestResult:withType:userData:]):
(-[WKView _internalPrepareForImmediateActionAnimation]):
(-[WKView _internalCancelImmediateActionAnimation]):
(-[WKView _internalCompleteImmediateActionAnimation]):
(-[WKView _internalDismissContentRelativeChildWindowsWithAnimation:]):
(-[WKView beginDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChangesSync]):
(-[WKView _prepareForMoveToWindow:withCompletionHandler:]):
(-[WKView isDeferringViewInWindowChanges]):
(-[WKView allowsLinkPreview]):
(-[WKView setAllowsLinkPreview:]):
(-[WKView _setIgnoresAllEvents:]):
(-[WKView _setIgnoresNonWheelMouseEvents:]):
(-[WKView _setIgnoresNonWheelEvents:]):
(-[WKView _ignoresNonWheelEvents]):
(-[WKView _ignoresAllEvents]):
(-[WKView _setOverrideDeviceScaleFactor:]):
(-[WKView _overrideDeviceScaleFactor]):
(-[WKView _setTopContentInset:]):
(-[WKView _topContentInset]):
(-[WKView _dismissContentRelativeChildWindows]):
(-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
(-[WKView _setAutomaticallyAdjustsContentInsets:]):
(-[WKView _automaticallyAdjustsContentInsets]):
(-[WKWindowVisibilityObserver initWithView:]): Deleted.
(-[WKWindowVisibilityObserver startObserving:]): Deleted.
(-[WKWindowVisibilityObserver stopObserving:]): Deleted.
(-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]): Deleted.
(-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]): Deleted.
(-[WKView dealloc]): Deleted.
(-[WKView _updateWindowAndViewFrames]): Deleted.
(-[WKView updateFontPanelIfNeeded]): Deleted.
(-[WKView _selectionChanged]): Deleted.
(-[WKView addWindowObserversForWindow:]): Deleted.
(-[WKView removeWindowObservers]): Deleted.
(-[WKView doWindowDidChangeScreen]): Deleted.
(-[WKView _windowDidBecomeKey:]): Deleted.
(-[WKView _windowDidChangeScreen:]): Deleted.
(-[WKView _windowDidChangeLayerHosting:]): Deleted.
(-[WKView _windowDidResignKey:]): Deleted.
(-[WKView _windowDidMiniaturize:]): Deleted.
(-[WKView _windowDidDeminiaturize:]): Deleted.
(-[WKView _windowDidMove:]): Deleted.
(-[WKView _windowDidResize:]): Deleted.
(-[WKView _windowDidOrderOffScreen:]): Deleted.
(-[WKView _windowDidOrderOnScreen:]): Deleted.
(-[WKView _windowDidChangeBackingProperties:]): Deleted.
(-[WKView _windowDidChangeOcclusionState:]): Deleted.
(-[WKView _prepareForDictionaryLookup]): Deleted.
(-[WKView _dictionaryLookupPopoverWillClose:]): Deleted.
(-[WKView _accessibilityRegisterUIProcessTokens]): Deleted.
(-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Deleted.
(-[WKView _intrinsicDeviceScaleFactor]): Deleted.
(-[WKView _preferencesDidChange]): Deleted.
(-[WKView _targetWindowForMovePreparation]): Deleted.
(-[WKView _updateContentInsetsIfAutomatic]): Deleted.
(-[WKView observeValueForKeyPath:ofObject:change:context:]): Deleted.
(-[WKView _dispatchSetTopContentInset]): Deleted.
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::automaticallyAdjustsContentInsets):
(WebKit::WebViewImpl::topContentInset):
(WebKit::WebViewImpl::overrideDeviceScaleFactor):
(WebKit::WebViewImpl::isDeferringViewInWindowChanges):
(WebKit::WebViewImpl::targetWindowForMovePreparation):
(WebKit::WebViewImpl::lastPressureEvent):
(WebKit::WebViewImpl::allowsLinkPreview):
(WebKit::WebViewImpl::ignoresNonWheelEvents):
(WebKit::WebViewImpl::ignoresAllEvents):
(WebKit::WebViewImpl::createWeakPtr):
* UIProcess/Cocoa/WebViewImpl.mm:
(SOFT_LINK_CONSTANT_MAY_FAIL):
(-[WKWindowVisibilityObserver initWithView:impl:]):
(-[WKWindowVisibilityObserver dealloc]):
(-[WKWindowVisibilityObserver startObserving:]):
(-[WKWindowVisibilityObserver stopObserving:]):
(-[WKWindowVisibilityObserver startObservingFontPanel]):
(-[WKWindowVisibilityObserver startObservingLookupDismissal]):
(-[WKWindowVisibilityObserver _windowDidOrderOnScreen:]):
(-[WKWindowVisibilityObserver _windowDidOrderOffScreen:]):
(-[WKWindowVisibilityObserver _windowDidBecomeKey:]):
(-[WKWindowVisibilityObserver _windowDidResignKey:]):
(-[WKWindowVisibilityObserver _windowDidMiniaturize:]):
(-[WKWindowVisibilityObserver _windowDidDeminiaturize:]):
(-[WKWindowVisibilityObserver _windowDidMove:]):
(-[WKWindowVisibilityObserver _windowDidResize:]):
(-[WKWindowVisibilityObserver _windowDidChangeBackingProperties:]):
(-[WKWindowVisibilityObserver _windowDidChangeScreen:]):
(-[WKWindowVisibilityObserver _windowDidChangeLayerHosting:]):
(-[WKWindowVisibilityObserver _windowDidChangeOcclusionState:]):
(-[WKWindowVisibilityObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WKWindowVisibilityObserver _dictionaryLookupPopoverWillClose:]):
(-[WKEditCommandObjC initWithWebEditCommandProxy:]):
(-[WKEditCommandObjC command]):
(-[WKEditorUndoTargetObjC undoEditing:]):
(-[WKEditorUndoTargetObjC redoEditing:]):
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::resignFirstResponder):
(WebKit::WebViewImpl::renewGState):
(WebKit::WebViewImpl::updateWindowAndViewFrames):
(WebKit::WebViewImpl::setAutomaticallyAdjustsContentInsets):
(WebKit::WebViewImpl::updateContentInsetsIfAutomatic):
(WebKit::WebViewImpl::setTopContentInset):
(WebKit::WebViewImpl::dispatchSetTopContentInset):
(WebKit::WebViewImpl::setOverrideDeviceScaleFactor):
(WebKit::WebViewImpl::intrinsicDeviceScaleFactor):
(WebKit::WebViewImpl::windowDidOrderOffScreen):
(WebKit::WebViewImpl::windowDidOrderOnScreen):
(WebKit::WebViewImpl::windowDidBecomeKey):
(WebKit::WebViewImpl::windowDidResignKey):
(WebKit::WebViewImpl::windowDidMiniaturize):
(WebKit::WebViewImpl::windowDidDeminiaturize):
(WebKit::WebViewImpl::windowDidMove):
(WebKit::WebViewImpl::windowDidResize):
(WebKit::WebViewImpl::windowDidChangeBackingProperties):
(WebKit::WebViewImpl::windowDidChangeScreen):
(WebKit::WebViewImpl::windowDidChangeLayerHosting):
(WebKit::WebViewImpl::windowDidChangeOcclusionState):
(WebKit::WebViewImpl::viewWillMoveToWindow):
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::viewDidChangeBackingProperties):
(WebKit::WebViewImpl::postFakeMouseMovedEventForFlagsChangedEvent):
(WebKit::WebViewImpl::colorSpace):
(WebKit::WebViewImpl::beginDeferringViewInWindowChanges):
(WebKit::WebViewImpl::endDeferringViewInWindowChanges):
(WebKit::WebViewImpl::endDeferringViewInWindowChangesSync):
(WebKit::WebViewImpl::prepareForMoveToWindow):
(WebKit::WebViewImpl::pressureChangeWithEvent):
(WebKit::WebViewImpl::isEditable):
(WebKit::WebViewImpl::executeEditCommand):
(WebKit::WebViewImpl::registerEditCommand):
(WebKit::WebViewImpl::clearAllEditCommands):
(WebKit::WebViewImpl::writeSelectionToPasteboard):
(WebKit::WebViewImpl::centerSelectionInVisibleArea):
(WebKit::WebViewImpl::selectionDidChange):
(WebKit::WebViewImpl::startObservingFontPanel):
(WebKit::WebViewImpl::updateFontPanelIfNeeded):
(WebKit::WebViewImpl::preferencesDidChange):
(WebKit::WebViewImpl::setTextIndicator):
(WebKit::WebViewImpl::clearTextIndicatorWithAnimation):
(WebKit::WebViewImpl::setTextIndicatorAnimationProgress):
(WebKit::WebViewImpl::dismissContentRelativeChildWindows):
(WebKit::WebViewImpl::quickLookWithEvent):
(WebKit::WebViewImpl::prepareForDictionaryLookup):
(WebKit::WebViewImpl::setAllowsLinkPreview):
(WebKit::WebViewImpl::immediateActionAnimationControllerForHitTestResult):
(WebKit::WebViewImpl::prepareForImmediateActionAnimation):
(WebKit::WebViewImpl::cancelImmediateActionAnimation):
(WebKit::WebViewImpl::completeImmediateActionAnimation):
(WebKit::WebViewImpl::setIgnoresNonWheelEvents):
(WebKit::WebViewImpl::setIgnoresAllEvents):
(WebKit::WebViewImpl::accessibilityRegisterUIProcessTokens):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::activeWindow):
(WebKit::PageClientImpl::preferencesDidChange):
(WebKit::PageClientImpl::registerEditCommand):
(WebKit::PageClientImpl::clearAllEditCommands):
(WebKit::PageClientImpl::selectionDidChange):
(WebKit::PageClientImpl::didPerformDictionaryLookup):
(-[WKEditCommandObjC initWithWebEditCommandProxy:]): Deleted.
(-[WKEditCommandObjC command]): Deleted.
(-[WKEditorUndoTargetObjC undoEditing:]): Deleted.
(-[WKEditorUndoTargetObjC redoEditing:]): Deleted.
(WebKit::PageClientImpl::PageClientImpl): Deleted.
Move more things to WebViewImpl.
This also introduces an unfortunate pattern that is required for things which
clients override on WKView, where we have a flow like this:
        - somebody (PageClient, etc.) calls WebViewImpl::x
        - WebViewImpl::x does nothing except call [WKView _x]
        - [WKView _x] calls WebViewImpl::xFromViewOnly, which does the real work
As long as no clients call the -FromViewOnly variant, this will mean that
all callers are bottlenecked through the overridable WKView method.
How this works with WKWebView, I am not sure yet.

* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController initWithPage:view:viewImpl:recognizer:]):
(-[WKImmediateActionController willDestroyView:]):
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WKImmediateActionController menuItem:viewAtScreenPoint:]):
(-[WKImmediateActionController menuItem:previewItemAtPoint:]):
(-[WKImmediateActionController menuItem:itemFrameForPoint:]):
(-[WKImmediateActionController menuItem:maxSizeForPoint:]):
(-[WKImmediateActionController _animationControllerForDataDetectedText]):
(-[WKImmediateActionController _animationControllerForDataDetectedLink]):
(-[WKImmediateActionController _animationControllerForText]):
(-[WKImmediateActionController initWithPage:view:recognizer:]): Deleted.
Keep a generic NSView, use the WebViewImpl for WK*View related things.

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

5 years ago[GTK] update-webkitgtk-libs should use mesa tarball
commit-queue@webkit.org [Fri, 23 Oct 2015 17:55:09 +0000 (17:55 +0000)]
[GTK] update-webkitgtk-libs should use mesa tarball

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

update-webkitgtk-libs downloads all build dependencies; in fixing
bug 148941 mesa was switched from ftp to git access.  Now an http
tarball is available, which is preferred over accessing via git.

Patch by Mark Salisbury <mark.salisbury@hp.com> on 2015-10-23
Reviewed by Philippe Normand

* gtk/jhbuild.modules:
Mesa access changed to http tarball.

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

5 years agoA label element not in a document should not label an element in a document
cdumez@apple.com [Fri, 23 Oct 2015 17:47:49 +0000 (17:47 +0000)]
A label element not in a document should not label an element in a document
https://bugs.webkit.org/show_bug.cgi?id=148863
<rdar://problem/22589300>

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline W3C HTML test now that one more check is passing.

* web-platform-tests/html/semantics/forms/the-label-element/label-attributes-expected.txt:

Source/WebCore:

As per the HTML specification, a label element's 'for' attribute may be
specified to indicate a form control with which the caption is to be
associated. If the attribute is specified, the attribute's value must
be the ID of a labelable element in the same Document as the label
element:
https://html.spec.whatwg.org/multipage/forms.html#attr-label-for

However, our code was failing to check if the label element was actually
in the document before calling document.getElementById(). In such case,
we would potentially return a labelable Element that is not in the same
document as the label Element. This patch fixes the problem.

The new behavior is consistent with Firefox.

No new tests, already covered by existing test.

* html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::control):

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

5 years agoWeb Inspector: Command-Enter in Debugger should show a popover with evaluation result
nvasilyev@apple.com [Fri, 23 Oct 2015 17:11:02 +0000 (17:11 +0000)]
Web Inspector: Command-Enter in Debugger should show a popover with evaluation result
https://bugs.webkit.org/show_bug.cgi?id=149195

Currenty, the only way to display the popover is to hover over the text with a mouse cursor.
Provide a way to display it via a keyboard shortcut.

Reviewed by Timothy Hatcher.

* UserInterface/Controllers/CodeMirrorCompletionController.js:
(WebInspector.CodeMirrorCompletionController): Deleted.
(WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions): Deleted.
Don't evaluate selected text from Debugger or Sources in the console.

* UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
(WebInspector.CodeMirrorTokenTrackingController):
(WebInspector.CodeMirrorTokenTrackingController.prototype._handleCommandEnterKey):
(WebInspector.CodeMirrorTokenTrackingController.prototype._hidePopover):
Cmd-Enter triggers the popover, Esc hides it.

(WebInspector.CodeMirrorTokenTrackingController.prototype.set mode):
(WebInspector.CodeMirrorTokenTrackingController.prototype.removeHighlightedRange):
Don't use delete.

(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedWithMarkedText):
When a token isn't hovered, hide it only when it was triggered not by the keyboard.

(WebInspector.CodeMirrorTokenTrackingController.prototype._markedTextIsNoLongerHovered):
Don't use delete.

(WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
(WebInspector.CodeMirrorTokenTrackingController.prototype._getTokenInfoForPosition):
Abstract out a no side effects _getTokenInfoForPosition method, which is also used by _handleCommandEnterKey.

(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseMovedOutOfEditor):
(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseButtonWasReleasedOverEditor):
Don't use delete.

(WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
(WebInspector.CodeMirrorTokenTrackingController.prototype._processNonSymbolToken):
(WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
Pass tokenInfo as an argument to explicitly state that these methods require it.

(WebInspector.CodeMirrorTokenTrackingController.prototype._resetTrackingStates):
Don't use delete.

* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeReleased):
Allow to hide the popover regardless of mouse position. Used when the text cursor moves or
when Esc key is pressed.

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

5 years agoSupport for SVG `beginEvent` event and `onbegin` attribute
commit-queue@webkit.org [Fri, 23 Oct 2015 08:39:01 +0000 (08:39 +0000)]
Support for SVG `beginEvent` event and `onbegin` attribute
https://bugs.webkit.org/show_bug.cgi?id=150442

Patch by Antoine Quint <graouts@apple.com> on 2015-10-23
Reviewed by Dean Jackson.

Source/WebCore:

Add support for the SVG `beginEvent` event, which is fired as an SVG timing element enters its active interval.
Also add support for the SVG `onbegin` attribute which allows the definition of a JS event listener declaratively
for the SVG `beginEvent` event.

Tests: svg/animations/begin-event-attribute.svg
       svg/animations/begin-event-script.svg
       svg/animations/begin-event-syncbase.svg

* dom/EventNames.h:
* svg/animation/SVGSMILElement.cpp:
(WebCore::smilBeginEventSender):
(WebCore::smilEndEventSender):
(WebCore::SVGSMILElement::~SVGSMILElement):
(WebCore::SVGSMILElement::parseAttribute):
(WebCore::SVGSMILElement::progress):
(WebCore::SVGSMILElement::dispatchPendingEvent):
* svg/svgattrs.in:

LayoutTests:

* svg/animations/begin-event-attribute-expected.svg: Added.
* svg/animations/begin-event-attribute.svg: Added.

Test for the newly supported `onbegin` attribute.

* svg/animations/begin-event-script-expected.svg: Added.
* svg/animations/begin-event-script.svg: Added.

Test for the newly supported `beginEvent` event handled via `addEventListener()`.

* svg/animations/begin-event-syncbase-expected.svg: Added.
* svg/animations/begin-event-syncbase.svg: Added.

Test for the newly supported `beginEvent` event used as a syncbase value in a
timing attribute.

* svg/animations/end-event-attribute-expected.svg:
* svg/animations/end-event-attribute.svg:
* svg/animations/end-event-script-expected.svg:
* svg/animations/end-event-script.svg:
* svg/animations/end-event-syncbase-expected.svg:
* svg/animations/end-event-syncbase.svg:

Cleaned up tests previously added to remove unnecessary XLink namespace, DOCTYPE and
processing instruction to match new tests.

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

5 years agoWeb Inspector: Visual sidebar should support multiple backgrounds
commit-queue@webkit.org [Fri, 23 Oct 2015 08:10:24 +0000 (08:10 +0000)]
Web Inspector: Visual sidebar should support multiple backgrounds
https://bugs.webkit.org/show_bug.cgi?id=148310

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2015-10-23
Reviewed by Timothy Hatcher.

Changes the layout of the Background - Style section in the Visual sidebar
to be a list instead of a single editable field for a background-image URL.
Allows for comma-separated background properties (both shorthand and
longhand) and displays them all in a single list for editing.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/VisualStyleColorPicker.js:
(WebInspector.VisualStyleColorPicker):
* UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
(.visual-style-property-container.comma-separated-keyword-editor):
* UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
(WebInspector.VisualStyleCommaSeparatedKeywordEditor):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties.propertyValue):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._generateTextFromLonghandProperties):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.modifyPropertyText):
Comma separated properties will now try to assemble a value from related longhand
properties so that a single shorthand property with commas may be used.

* UserInterface/Views/VisualStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style .visual > .details-section.background .details-section.background-style .visual-style-property-container.comma-separated-keyword-editor.background):
* UserInterface/Views/VisualStyleDetailsPanel.js:
(WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
(WebInspector.VisualStyleDetailsPanel.prototype._noRemainingCommaSeparatedEditorItems):
(WebInspector.VisualStyleDetailsPanel.prototype._selectedCommaSeparatedEditorItemValueChanged):
(WebInspector.VisualStyleDetailsPanel.prototype._commaSeparatedEditorTreeItemSelected):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged): Deleted.
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected): Deleted.
Made the "background-image" property into a comma separated editor.

* UserInterface/Views/VisualStyleFontFamilyListEditor.js:
(WebInspector.VisualStyleFontFamilyListEditor):
* UserInterface/Views/VisualStyleKeywordIconList.js:
(WebInspector.VisualStyleKeywordIconList.prototype.set value):
(WebInspector.VisualStyleKeywordIconList.prototype._handleKeywordChanged):
(WebInspector.VisualStyleKeywordIconList):
* UserInterface/Views/VisualStyleKeywordPicker.js:
(WebInspector.VisualStyleKeywordPicker.prototype.updateEditorValues):
(WebInspector.VisualStyleKeywordPicker.prototype._setValue):
* UserInterface/Views/VisualStyleNumberInputBox.js:
(WebInspector.VisualStyleNumberInputBox.prototype.set value):
* UserInterface/Views/VisualStylePropertyCombiner.js:
(WebInspector.VisualStylePropertyCombiner):
(WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
(WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
* UserInterface/Views/VisualStylePropertyEditor.js:
(WebInspector.VisualStylePropertyEditor):
(WebInspector.VisualStylePropertyEditor.prototype.update):
(WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
(WebInspector.VisualStylePropertyEditor.prototype.get propertyMissing):
(WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
Moved "propertyMissing" into a member variable for better access.

* UserInterface/Views/VisualStyleURLInput.js:
(WebInspector.VisualStyleURLInput):
(WebInspector.VisualStyleURLInput.prototype.get synthesizedValue):
(WebInspector.VisualStyleURLInput.prototype.parseValue):
Added support for specific keywords to be used in the input field.

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

5 years agoSource/WebCore:
commit-queue@webkit.org [Fri, 23 Oct 2015 07:37:29 +0000 (07:37 +0000)]
Source/WebCore:
ConvolverNode.buffer must have same sample-rate as the AudioContext
https://bugs.webkit.org/show_bug.cgi?id=150385

Patch by Hyemi Shin <hyemi.sin@samsung.com> on 2015-10-23
Reviewed by Chris Dumez.

ConvolverNode.buffer must be of the same sample-rate as the AudioContext
or an NOT_SUPPORTED_ERR exception MUST be thrown.

Test : webaudio/convolver-setBuffer-different-samplerate.html

* Modules/webaudio/ConvolverNode.cpp:
(WebCore::ConvolverNode::setBuffer):
* Modules/webaudio/ConvolverNode.h:
* Modules/webaudio/ConvolverNode.idl:

LayoutTests:
ConvolverNode.buffer must have same sample rate as the AudioContext
https://bugs.webkit.org/show_bug.cgi?id=150385

Patch by Hyemi Shin <hyemi.sin@samsung.com> on 2015-10-23
Reviewed by Chris Dumez.

* webaudio/convolver-setBuffer-different-samplerate-expected.txt: Added.
* webaudio/convolver-setBuffer-different-samplerate.html: Added.

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

5 years ago[GTK] Fix build break since r191471
commit-queue@webkit.org [Fri, 23 Oct 2015 06:11:49 +0000 (06:11 +0000)]
[GTK] Fix build break since r191471
https://bugs.webkit.org/show_bug.cgi?id=150487

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-10-22
Reviewed by Žan Doberšek.

* UIProcess/API/gtk/WebKitContextMenuClient.cpp:
* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::populate):

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

5 years ago[EFL] Build break since r191472 and r191473
gyuyoung.kim@webkit.org [Fri, 23 Oct 2015 04:21:34 +0000 (04:21 +0000)]
[EFL] Build break since r191472 and r191473
https://bugs.webkit.org/show_bug.cgi?id=150485

Unreviewed build fix.

* CMakeLists.txt: Remove icu include path and move page include path.

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

5 years ago[OS X] Migrate GraphicsContext::drawLineForDocumentMarker() away from LocalCurrentGra...
mmaxfield@apple.com [Fri, 23 Oct 2015 02:53:03 +0000 (02:53 +0000)]
[OS X] Migrate GraphicsContext::drawLineForDocumentMarker() away from LocalCurrentGraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=150483

Reviewed by Simon Fraser.

LocalCurrentGraphicsContext is an ugly hack to work around the problem that many NS* functions
operate on the current context rather than a context passed as an argument. This patch
migrates from NSRectFillUsingOperation() which has this behavior to CGContextDrawTiledImage()
which performs the same operation but with a passed-in CGContextRef. An added benefit is that
we don't have to mess around with pattern-based NSColors.

No new tests because there is no behavior change.

* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::findImage):
(WebCore::GraphicsContext::updateDocumentMarkerResources):
(WebCore::GraphicsContext::drawLineForDocumentMarker):
(WebCore::makePatternColor): Deleted.

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

5 years agoWeb Inspector: Remove generateColoredImagesForCSS and its clients
timothy@apple.com [Fri, 23 Oct 2015 01:10:27 +0000 (01:10 +0000)]
Web Inspector: Remove generateColoredImagesForCSS and its clients
https://bugs.webkit.org/show_bug.cgi?id=150474

Reviewed by Joseph Pecoraro.

* UserInterface/Base/ImageUtilities.js:
(generateColoredImage): Deleted.
(imageLoaded): Deleted.
(ensureImageIsLoaded): Deleted.
(restoreImages.restoreActiveImages): Deleted.
(restoreImages): Deleted.
(restoreImage): Deleted.
(update): Deleted.
(generateImage): Deleted.
(generateColoredImagesForCSS): Deleted.

* UserInterface/Base/Main.js:
(WebInspector.loaded): Deleted call to _generateDisclosureTriangleImages.
(WebInspector._generateDisclosureTriangleImages): Deleted.
(WebInspector.createGoToArrowButton): Deleted code to generate the states.

* UserInterface/Images/BackArrow.svg: Removed.
* UserInterface/Images/BackForwardArrows.svg: Added.
* UserInterface/Images/DisclosureTriangleSmallClosed.svg: Removed.
* UserInterface/Images/DisclosureTriangleSmallOpen.svg: Removed.
* UserInterface/Images/DisclosureTriangleTinyClosed.svg: Removed.
* UserInterface/Images/DisclosureTriangleTinyOpen.svg: Removed.
* UserInterface/Images/DisclosureTriangles.svg: Added.
* UserInterface/Images/ForwardArrow.svg: Removed.
* UserInterface/Images/GoToArrow.svg:
* UserInterface/Images/Locked.svg: Moved fill color here.
* UserInterface/Images/SortIndicatorArrows.svg: Added.
* UserInterface/Images/SortIndicatorDownArrow.svg: Removed.
* UserInterface/Images/SortIndicatorUpArrow.svg: Removed.
* UserInterface/Images/gtk/BackArrow.svg: Removed.
* UserInterface/Images/gtk/BackForwardArrows.svg: Added.
* UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Removed.
* UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Removed.
* UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Removed.
* UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Removed.
* UserInterface/Images/gtk/DisclosureTriangles.svg: Added.
* UserInterface/Images/gtk/ForwardArrow.svg: Removed.
* UserInterface/Images/gtk/GoToArrow.svg:
* UserInterface/Images/gtk/Locked.svg: Moved fill color here.
* UserInterface/Images/gtk/SortIndicatorArrows.svg: Added.
* UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Removed.
* UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Removed.

* UserInterface/Views/CSSStyleDeclarationSection.css:
(.style-declaration-section.locked > .header::before):

* UserInterface/Views/CSSStyleDeclarationSection.js:
(WebInspector.CSSStyleDeclarationSection): Deleted.

* UserInterface/Views/ConsoleMessageView.css:
(.console-message.expandable .console-top-level-message::before):
(.console-message.expandable.expanded .console-top-level-message::before):

* UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser): Use BackForwardArrows.svg.

* UserInterface/Views/DOMTreeOutline.css:
(.dom-tree-outline li.parent::before):
(.dom-tree-outline:focus li.parent.selected::before):
(.dom-tree-outline li.parent.expanded::before):
(.dom-tree-outline:focus li.parent.expanded.selected::before):

* UserInterface/Views/DataGrid.css:
(.data-grid th.sort-ascending > div:first-child::after):
(.data-grid th.sort-descending > div:first-child::after):
(.data-grid tr.parent td.disclosure::before):
(.data-grid tr.parent.expanded td.disclosure::before):
(.data-grid:matches(:focus, .force-focus) tr.parent.selected td.disclosure::before):
(.data-grid:matches(:focus, .force-focus) tr.parent.expanded.selected td.disclosure::before):

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid): Deleted call to _generateSortIndicatorImagesIfNeeded.
(WebInspector.DataGrid.prototype._generateSortIndicatorImagesIfNeeded): Deleted.

* UserInterface/Views/DetailsSection.css:
(.details-section > .header::before):
(.details-section > .header:not(.mouse-over-options-element):active::before):
(.details-section.collapsed > .header::before):
(.details-section.collapsed > .header:not(.mouse-over-options-element):active::before):

* UserInterface/Views/DetailsSection.js:
(WebInspector.DetailsSection): Deleted call to _generateDisclosureTrianglesIfNeeded.
(WebInspector.DetailsSection.prototype._generateDisclosureTrianglesIfNeeded): Deleted.

* UserInterface/Views/ErrorObjectView.css:
(.error-object > .formatted-error::before):
(.error-object.expanded > .formatted-error::before):

* UserInterface/Views/FindBanner.css:
(.find-banner > button.segmented.left > .glyph):
(.find-banner > button.segmented.left:active:not(:disabled) > .glyph):
(.find-banner > button.segmented.right > .glyph):
(.find-banner > button.segmented.right:active:not(:disabled) > .glyph):

* UserInterface/Views/FindBanner.js:
(WebInspector.FindBanner): Deleted call to _generateButtonsGlyphsIfNeeded.
(WebInspector.FindBanner.prototype._generateButtonsGlyphsIfNeeded): Deleted.

* UserInterface/Views/LogContentView.css:
(.console-group-title::before):
(.console-group.collapsed .console-group-title::before):

* UserInterface/Views/Main.css:
(.go-to-arrow):
(.go-to-arrow:active):
(:matches(:focus, .force-focus) .selected .go-to-arrow):
(:matches(:focus, .force-focus) .selected .go-to-arrow:active):

* UserInterface/Views/NavigationSidebarPanel.css:
(.navigation-sidebar-panel-content-tree-outline .item .disclosure-button):
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
(.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button):
(.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):

* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel): Deleted call to _generateDisclosureTrianglesIfNeeded.
(WebInspector.NavigationSidebarPanel.prototype._generateDisclosureTrianglesIfNeeded): Deleted.

* UserInterface/Views/ObjectTreePropertyTreeElement.css:
(.object-tree-property.parent > .disclosure-button):
(.object-tree-property.parent.expanded > .disclosure-button):
(.object-tree-property .read-only): Deleted.

* UserInterface/Views/ObjectTreeView.css:
(.object-tree > :matches(.title, .object-preview)::before):
(.object-tree.expanded > :matches(.title, .object-preview)::before):

* UserInterface/Views/TypeTreeElement.css:
(.type-tree-element.parent > .disclosure-button):
(.type-tree-element.parent.expanded > .disclosure-button):

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

5 years agoNavigations on the same host (but with different schemes and ports) should not trigge...
weinig@apple.com [Fri, 23 Oct 2015 00:09:20 +0000 (00:09 +0000)]
Navigations on the same host (but with different schemes and ports) should not trigger universal links
<rdar://problem/22811325>
https://bugs.webkit.org/show_bug.cgi?id=150481

Reviewed by Dan Bernstein.

Source/WebCore:

Add new helper which efficiently compares the hosts of two URLs.

* platform/URL.cpp:
(WebCore::hostsAreEqual):
* platform/URL.h:

Source/WebKit/mac:

* WebCoreSupport/WebFrameLoaderClient.mm:
(shouldTryAppLink):
Update the policy for following universal links to only take host into consideration.

Source/WebKit2:

Update the policy for following universal links to only take host into consideration.

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::showPage):

Tools:

* TestWebKitAPI/Tests/WebKit2Cocoa/ShouldOpenExternalURLsInNewWindowActions.mm:
Update test to test that navigations on the same host but with different schemes does not
trigger universal links, but that changes in the host do.

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

5 years agoWeb Inspector: CSS Data URIs count against page weight twice
mattbaker@apple.com [Thu, 22 Oct 2015 23:31:53 +0000 (23:31 +0000)]
Web Inspector: CSS Data URIs count against page weight twice
https://bugs.webkit.org/show_bug.cgi?id=150101

Reviewed by Timothy Hatcher.

* UserInterface/Models/DefaultDashboard.js:
(WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
Exclude resources with a data URI from the total page weight.

* UserInterface/Models/Resource.js:
(WebInspector.Resource):
(WebInspector.Resource.prototype.updateForRedirectResponse):
(WebInspector.Resource.prototype.updateForResponse):
(WebInspector.Resource.prototype.markAsFinished):
Removed uses of `delete`.

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

5 years agoWeb Inspector: Remove unused Timeline GCEvent Record type
commit-queue@webkit.org [Thu, 22 Oct 2015 22:56:21 +0000 (22:56 +0000)]
Web Inspector: Remove unused Timeline GCEvent Record type
https://bugs.webkit.org/show_bug.cgi?id=150477

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-10-22
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Garbage Collection events go through the Heap domain, not the
Timeline domain (long time ago for Chromium).

* inspector/protocol/Timeline.json:

Source/WebCore:

This event is dispatched through the Heap domain, not Timelines.

* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createGCEventData): Deleted.
* inspector/TimelineRecordFactory.h:

Source/WebInspectorUI:

iOS backends never emitted a GCEvent timeline event.

* UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
* UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
* Versions/Inspector-iOS-7.0.json:
* Versions/Inspector-iOS-8.0.json:
* Versions/Inspector-iOS-9.0.json:

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

5 years agoFix build for clang-700.0.59.5 by replacing deprecated calls to convert points betwee...
commit-queue@webkit.org [Thu, 22 Oct 2015 22:36:57 +0000 (22:36 +0000)]
Fix build for clang-700.0.59.5 by replacing deprecated calls to convert points between screen and window coordinates for Mac.
https://bugs.webkit.org/show_bug.cgi?id=150379

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2015-10-22
Reviewed by Andy Estes.

Source/WebCore:

Provide WAKWindow versions of the non-deprecated methods for converting an NSRect between
window and screen coordinates, which replace the deprecated methods that operated on an NSPoint.

* platform/ios/wak/WAKWindow.h:
* platform/ios/wak/WAKWindow.mm:
(-[WAKWindow convertRectToScreen:]): Added.
(-[WAKWindow convertRectFromScreen:]): Added.

Source/WebKit/mac:

* WebView/WebHTMLView.mm:
(-[WebHTMLView characterIndexForPoint:]):
Convert point to rect, and replace call to deprecated convertScreenToBase: with convertRectFromScreen:.

(-[WebHTMLView firstRectForCharacterRange:]):
Replace call to deprecated convertBaseToScreen: with convertRectToScreen:.

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

5 years agoFix Mac CMake build after r191433.
achristensen@apple.com [Thu, 22 Oct 2015 22:33:58 +0000 (22:33 +0000)]
Fix Mac CMake build after r191433.

* PlatformMac.cmake:
Use CMakeLists.txt to generate UserAgentScripts.h and cpp.

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

5 years agoSimplify menu creation
andersca@apple.com [Thu, 22 Oct 2015 22:27:19 +0000 (22:27 +0000)]
Simplify menu creation
https://bugs.webkit.org/show_bug.cgi?id=150476

Reviewed by Tim Horton.

Instead of creating vectors of NSMenuItem objects, just simply build the menu recursively.

* UIProcess/mac/WebContextMenuProxyMac.h:
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::createContextMenuFromItems):
(WebKit::WebContextMenuProxyMac::createContextMenuItem):
(WebKit::WebContextMenuProxyMac::showContextMenu):
(WebKit::populateNSMenu): Deleted.
(WebKit::nsMenuItem): Deleted.
(WebKit::nsMenuItemVector): Deleted.

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

5 years agoERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
commit-queue@webkit.org [Thu, 22 Oct 2015 22:25:14 +0000 (22:25 +0000)]
ERROR: Unhandled web process message 'StorageAreaMap:DispatchStorageEvent'
https://bugs.webkit.org/show_bug.cgi?id=150315

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2015-10-22
Reviewed by Andreas Kling.

It was introduced in r184930, that keeps the session storage area
maps alive in the UI process when they are destroyed by the web
process. The problem is that we also keep the listeners, so that
events are also dispatched to the listeners of destroyed areas,
and the message handlers were removed in the web process.

* UIProcess/Storage/StorageManager.cpp:
(WebKit::StorageManager::createTransientLocalStorageMap): Add a
listener for the new storage map ID when the map is reused.
(WebKit::StorageManager::destroyStorageMap): Always remove
listeners of destroyed maps.

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

5 years agoUnreviewed, rolling out r191113.
dbates@webkit.org [Thu, 22 Oct 2015 22:14:08 +0000 (22:14 +0000)]
Unreviewed, rolling out r191113.

Rollout r144451 since it regressed the visibility of the
search cancel button when a search field is empty or showing
placeholder text. Further investigation is needed.

Reverted changeset:

"[iOS] DOM click event may not be dispatched when page has
:active style and <input type="search">"
https://bugs.webkit.org/show_bug.cgi?id=144451
http://trac.webkit.org/changeset/191113

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

5 years agoAdd a SPI variant of loadData that accepts user data to WKWebView
timothy_horton@apple.com [Thu, 22 Oct 2015 21:54:11 +0000 (21:54 +0000)]
Add a SPI variant of loadData that accepts user data to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=150475

Reviewed by Anders Carlsson.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

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

5 years agoWeb Inspector: srcset attributes should have hyperlinks to the resources
commit-queue@webkit.org [Thu, 22 Oct 2015 21:37:04 +0000 (21:37 +0000)]
Web Inspector: srcset attributes should have hyperlinks to the resources
https://bugs.webkit.org/show_bug.cgi?id=150409

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-10-22
Reviewed by Timothy Hatcher.

Follow-up tweaks and fixes that were intended to be landed.

* UserInterface/Views/CodeMirrorAdditions.js:
(tokenizeSrcSetString):
Multiline parsing has issues recovering the state CodeMirror
expects, so we just bail in those cases. Leading whitespace
is also handled poorly, but expected to be rare.

* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
Trim to eliminate leading whitespace.

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

5 years agoAdd ways to log to log channels via a functional syntax, and via a TextStream
simon.fraser@apple.com [Thu, 22 Oct 2015 21:29:54 +0000 (21:29 +0000)]
Add ways to log to log channels via a functional syntax, and via a TextStream
https://bugs.webkit.org/show_bug.cgi?id=150472

Reviewed by Tim Horton.

Make it possible to write to a WTFLogChannel with a std::function that returns
a const char*, and with stream syntax.

Enhance TextStream to allow it to generate single-line output.

* platform/Logging.cpp:
(WebCore::logFunctionResult):
* platform/Logging.h:
* platform/text/TextStream.cpp:
(WebCore::TextStream::startGroup):
(WebCore::TextStream::endGroup):
(WebCore::TextStream::nextLine):
(WebCore::TextStream::writeIndent):
* platform/text/TextStream.h:
(WebCore::TextStream::TextStream):

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

5 years agoProgress towards CMake on Mac
achristensen@apple.com [Thu, 22 Oct 2015 21:17:59 +0000 (21:17 +0000)]
Progress towards CMake on Mac
https://bugs.webkit.org/show_bug.cgi?id=150466

Reviewed by Chris Dumez.

Source/WebCore:

* PlatformMac.cmake:
* crypto/mac/SerializedCryptoKeyWrapMac.mm:
(WebCore::createAndStoreMasterKey):
* page/mac/WheelEventDeltaFilterMac.mm:
* platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:

Source/WebKit2:

* CMakeLists.txt:
* PlatformMac.cmake:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:

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

5 years agoNativeContextMenuItem isn't needed anymore, remove it
andersca@apple.com [Thu, 22 Oct 2015 21:14:06 +0000 (21:14 +0000)]
NativeContextMenuItem isn't needed anymore, remove it
https://bugs.webkit.org/show_bug.cgi?id=150473

Reviewed by Tim Horton.

* PlatformEfl.cmake:
* PlatformGTK.cmake:
* Shared/NativeContextMenuItem.h: Removed.
(WebKit::NativeContextMenuItem::~NativeContextMenuItem): Deleted.
(WebKit::NativeContextMenuItem::nsMenuItem): Deleted.
* Shared/WebContextMenuItem.cpp:
(WebKit::WebContextMenuItem::WebContextMenuItem): Deleted.
* Shared/WebContextMenuItem.h:
(WebKit::WebContextMenuItem::create): Deleted.
(WebKit::WebContextMenuItem::nativeContextMenuItem): Deleted.
* Shared/efl/NativeContextMenuItemEfl.cpp: Removed.
(WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
* Shared/gtk/NativeContextMenuItemGtk.cpp: Removed.
(WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
* Shared/mac/NativeContextMenuItem.mm: Removed.
(WebKit::NativeContextMenuItem::NativeContextMenuItem): Deleted.
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::nsMenuItem): Deleted.
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoCTTE WebContextMenuItemData
andersca@apple.com [Thu, 22 Oct 2015 21:00:31 +0000 (21:00 +0000)]
CTTE WebContextMenuItemData
https://bugs.webkit.org/show_bug.cgi?id=150471

Reviewed by Tim Horton.

* Shared/API/c/WKContextMenuItem.cpp:
(WKContextMenuItemGetTag):
(WKContextMenuItemGetType):
(WKContextMenuItemCopyTitle):
(WKContextMenuItemGetEnabled):
(WKContextMenuItemGetChecked):
* Shared/WebContextMenuItem.cpp:
(WebKit::WebContextMenuItem::create):
* Shared/WebContextMenuItem.h:
(WebKit::WebContextMenuItem::data):
* UIProcess/API/C/WKPage.cpp:
(WKPageSelectContextMenuItem):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::nsMenuItem):
* WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageClickMenuItem):
* WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
(WebKit::InjectedBundlePageContextMenuClient::getCustomMenuFromDefaultItems):

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

5 years agoSkip a racey test until it can be made proper.
beidson@apple.com [Thu, 22 Oct 2015 20:37:34 +0000 (20:37 +0000)]
Skip a racey test until it can be made proper.
https://bugs.webkit.org/show_bug.cgi?id=150455 and
https://bugs.webkit.org/show_bug.cgi?id=150468

* platform/mac-wk1/TestExpectations: Skip storage/indexeddb/modern/createobjectstore-basic.html

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

5 years agoHandle nil menu items.
andersca@apple.com [Thu, 22 Oct 2015 20:28:13 +0000 (20:28 +0000)]
Handle nil menu items.

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

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

5 years agoWait to convert the share menu item to a real share menu until after calling out...
andersca@apple.com [Thu, 22 Oct 2015 20:13:54 +0000 (20:13 +0000)]
Wait to convert the share menu item to a real share menu until after calling out to the client
https://bugs.webkit.org/show_bug.cgi?id=150465

Reviewed by Tim Horton.

This will let us simplify more code in upcoming patches.

* UIProcess/mac/WebContextMenuProxyMac.h:
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::nsMenuItem):
(WebKit::nsMenuItemVector):
(WebKit::WebContextMenuProxyMac::showContextMenu):

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

5 years agoMove menu creation to WebView
andersca@apple.com [Thu, 22 Oct 2015 19:59:54 +0000 (19:59 +0000)]
Move menu creation to WebView
https://bugs.webkit.org/show_bug.cgi?id=150463

Reviewed by Tim Horton.

* WebView.cpp:
(createContextMenuFromItems):
(WebView::createContextMenu):

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

5 years ago[Cocoa] Migrate WKSetPatternPhaseInUserSpace() and WKGetUserToBaseCTM() from WKSI
mmaxfield@apple.com [Thu, 22 Oct 2015 19:50:09 +0000 (19:50 +0000)]
[Cocoa] Migrate WKSetPatternPhaseInUserSpace() and WKGetUserToBaseCTM() from WKSI
https://bugs.webkit.org/show_bug.cgi?id=150460

Reviewed by Tim Horton.

Source/WebCore:

No reason to use WKSI for these calls.

No new tests because there is no behavior change.

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::applyStrokePattern):
(WebCore::GraphicsContext::applyFillPattern):
(WebCore::GraphicsContext::setPlatformShadow):
* platform/graphics/cg/GraphicsContextCG.h:
(WebCore::getUserToBaseCTM):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::putByteArray):
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::setPatternPhaseInUserSpace):
(WebCore::GraphicsContext::drawLineForDocumentMarker):
* platform/ios/WebCoreSystemInterfaceIOS.mm:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Deleted.

Source/WebKit2:

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface): Deleted.

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

5 years agoModern IDB: Basic createObjectStore implementation.
beidson@apple.com [Thu, 22 Oct 2015 19:10:15 +0000 (19:10 +0000)]
Modern IDB: Basic createObjectStore implementation.
https://bugs.webkit.org/show_bug.cgi?id=150455

Reviewed by Alex Christensen.

Source/WebCore:

Tests: storage/indexeddb/modern/createobjectstore-basic.html
       storage/indexeddb/modern/createobjectstore-failures.html

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

* Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::createObjectStore):
(WebCore::IDBClient::IDBConnectionToServer::didCreateObjectStore):
* Modules/indexeddb/client/IDBConnectionToServer.h:
* Modules/indexeddb/client/IDBConnectionToServerDelegate.h:

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::objectStoreNames):
(WebCore::IDBClient::IDBDatabase::createObjectStore):
(WebCore::IDBClient::IDBDatabase::didAbortTransaction):
* Modules/indexeddb/client/IDBDatabaseImpl.h:
(WebCore::IDBClient::IDBDatabase::serverConnection):

* Modules/indexeddb/client/IDBObjectStoreImpl.cpp: Added.
(WebCore::IDBClient::IDBObjectStore::create):
(WebCore::IDBClient::IDBObjectStore::IDBObjectStore):
(WebCore::IDBClient::IDBObjectStore::~IDBObjectStore):
(WebCore::IDBClient::IDBObjectStore::id):
(WebCore::IDBClient::IDBObjectStore::name):
(WebCore::IDBClient::IDBObjectStore::keyPathAny):
(WebCore::IDBClient::IDBObjectStore::keyPath):
(WebCore::IDBClient::IDBObjectStore::indexNames):
(WebCore::IDBClient::IDBObjectStore::transaction):
(WebCore::IDBClient::IDBObjectStore::autoIncrement):
(WebCore::IDBClient::IDBObjectStore::add):
(WebCore::IDBClient::IDBObjectStore::put):
(WebCore::IDBClient::IDBObjectStore::openCursor):
(WebCore::IDBClient::IDBObjectStore::get):
(WebCore::IDBClient::IDBObjectStore::deleteFunction):
(WebCore::IDBClient::IDBObjectStore::clear):
(WebCore::IDBClient::IDBObjectStore::createIndex):
(WebCore::IDBClient::IDBObjectStore::index):
(WebCore::IDBClient::IDBObjectStore::deleteIndex):
(WebCore::IDBClient::IDBObjectStore::count):
* Modules/indexeddb/client/IDBObjectStoreImpl.h: Added.

* Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::requestCompleted):

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::serverConnection):
(WebCore::IDBClient::IDBTransaction::objectStore):
(WebCore::IDBClient::IDBTransaction::scheduleOperation):
(WebCore::IDBClient::IDBTransaction::operationTimerFired):
(WebCore::IDBClient::IDBTransaction::finishAbortOrCommit):
(WebCore::IDBClient::IDBTransaction::didAbort):
(WebCore::IDBClient::IDBTransaction::didCommit):
(WebCore::IDBClient::IDBTransaction::createObjectStore):
(WebCore::IDBClient::IDBTransaction::createObjectStoreOnServer):
(WebCore::IDBClient::IDBTransaction::didCreateObjectStoreOnServer):
* Modules/indexeddb/client/IDBTransactionImpl.h:
(WebCore::IDBClient::IDBTransaction::originalDatabaseInfo):
(WebCore::IDBClient::IDBTransaction::isVersionChange):

* Modules/indexeddb/client/TransactionOperation.h: Added.
(WebCore::IDBClient::TransactionOperation::perform):
(WebCore::IDBClient::TransactionOperation::completed):
(WebCore::IDBClient::TransactionOperation::identifier):
(WebCore::IDBClient::TransactionOperation::transactionIdentifier):
(WebCore::IDBClient::TransactionOperation::TransactionOperation):
(WebCore::IDBClient::createTransactionOperation):

* Modules/indexeddb/server/IDBConnectionToClient.cpp:
(WebCore::IDBServer::IDBConnectionToClient::didCreateObjectStore):
* Modules/indexeddb/server/IDBConnectionToClient.h:
* Modules/indexeddb/server/IDBConnectionToClientDelegate.h:

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::createObjectStore):
* Modules/indexeddb/server/IDBServer.h:

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::createObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performCreateObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCreateObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performAbortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransaction): Deleted.
* Modules/indexeddb/server/UniqueIDBDatabase.h:

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

* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::isVersionChange):
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::createObjectStore):
* Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:

* Modules/indexeddb/shared/IDBDatabaseInfo.cpp:
(WebCore::IDBDatabaseInfo::hasObjectStore):
(WebCore::IDBDatabaseInfo::createNewObjectStore):
(WebCore::IDBDatabaseInfo::addExistingObjectStore):
(WebCore::IDBDatabaseInfo::objectStoreNames):
* Modules/indexeddb/shared/IDBDatabaseInfo.h:

* Modules/indexeddb/shared/IDBObjectStoreInfo.cpp: Copied from Source/WebCore/Modules/indexeddb/shared/IDBDatabaseInfo.cpp.
(WebCore::IDBObjectStoreInfo::IDBObjectStoreInfo):
(WebCore::IDBObjectStoreInfo::isolatedCopy):
* Modules/indexeddb/shared/IDBObjectStoreInfo.h: Copied from Source/WebCore/Modules/indexeddb/shared/IDBDatabaseInfo.h.
(WebCore::IDBObjectStoreInfo::identifier):
(WebCore::IDBObjectStoreInfo::name):
(WebCore::IDBObjectStoreInfo::keyPath):
(WebCore::IDBObjectStoreInfo::autoIncrement):

* Modules/indexeddb/shared/IDBRequestData.cpp:
(WebCore::IDBRequestData::IDBRequestData):
(WebCore::IDBRequestData::requestIdentifier):
(WebCore::IDBRequestData::transactionIdentifier):
* Modules/indexeddb/shared/IDBRequestData.h:
(WebCore::IDBRequestData::databaseIdentifier):
(WebCore::IDBRequestData::requestIdentifier): Deleted.

* Modules/indexeddb/shared/IDBResultData.cpp:
(WebCore::IDBResultData::IDBResultData):
(WebCore::IDBResultData::createObjectStoreSuccess):
* Modules/indexeddb/shared/IDBResultData.h:

* Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::didCreateObjectStore):
(WebCore::InProcessIDBServer::createObjectStore):
* Modules/indexeddb/shared/InProcessIDBServer.h:

* platform/CrossThreadCopier.cpp:
(WebCore::IDBObjectStoreInfo>::copy):
* platform/CrossThreadCopier.h:

LayoutTests:

* storage/indexeddb/modern/createobjectstore-basic-expected.txt: Added.
* storage/indexeddb/modern/createobjectstore-basic.html: Added.
* storage/indexeddb/modern/createobjectstore-failures-expected.txt: Added.
* storage/indexeddb/modern/createobjectstore-failures.html: Added.

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

5 years agoWeb Inspector: Restore :not(:placeholder-shown) behavior on search bars with comments
commit-queue@webkit.org [Thu, 22 Oct 2015 18:42:15 +0000 (18:42 +0000)]
Web Inspector: Restore :not(:placeholder-shown) behavior on search bars with comments
https://bugs.webkit.org/show_bug.cgi?id=150452

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-10-22
Reviewed by Timothy Hatcher.

* UserInterface/Views/FindBanner.css:
(.find-banner.console-find-banner > input[type="search"]:not(:placeholder-shown)):
* UserInterface/Views/SearchBar.css:
(.search-bar > input[type="search"]:not(:placeholder-shown)):
Add back the placeholder-shown related styles and add a comment about what they are for.

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

5 years agoInitial NSURLSession WebResourceLoader implementation
achristensen@apple.com [Thu, 22 Oct 2015 18:00:29 +0000 (18:00 +0000)]
Initial NSURLSession WebResourceLoader implementation
https://bugs.webkit.org/show_bug.cgi?id=150355

Reviewed by Antti Koivisto.

Source/WebCore:

* platform/network/cf/AuthenticationChallenge.h:
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Export constructor for use in WebKit2.

Source/WebKit2:

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
(WebKit::NetworkConnectionToWebProcess::cookiesForDOM):
* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::setDefersLoading):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::didConvertHandleToDownload):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::willPerformHTTPRedirection):
(WebKit::NetworkResourceLoader::didReceiveChallenge):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveData):
(WebKit::NetworkResourceLoader::didCompleteWithError):
(WebKit::NetworkResourceLoader::didReceiveResponseAsync):
(WebKit::NetworkResourceLoader::willSendRequestAsync):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
(WebKit::NetworkResourceLoader::continueDidReceiveResponse):
(WebKit::NetworkResourceLoader::didSendData):
(WebKit::NetworkResourceLoader::receivedCancellation):
(WebKit::NetworkResourceLoader::startBufferingTimerIfNeeded):
(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::validateCacheEntry):
(WebKit::NetworkResourceLoader::sendAbortingOnFailure):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):
(WebKit::NetworkResourceLoader::continueCanAuthenticateAgainstProtectionSpace):
(WebKit::NetworkResourceLoader::supportsDataArray):
* NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::create):
(WebKit::NetworkResourceLoader::currentRequest):
(WebKit::NetworkResourceLoader::handle):
* NetworkProcess/NetworkSession.h: Added.
(WebKit::NetworkSessionTaskClient::~NetworkSessionTaskClient):
(WebKit::NetworkingDataTask::client):
(WebKit::NetworkingDataTask::clearClient):
(WebKit::NetworkSession::~NetworkSession):
* NetworkProcess/cocoa/NetworkSessionCocoa.mm: Added.
(toNSURLSessionResponseDisposition):
(toNSURLSessionAuthChallengeDisposition):
(-[NetworkSessionDelegate initWithNetworkSession:]):
(-[NetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[NetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[NetworkSessionDelegate URLSession:task:didCompleteWithError:]):
(-[NetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[NetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(WebKit::NetworkSession::create):
(WebKit::NetworkSession::singleton):
(WebKit::configurationForType):
(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::createDataTaskWithRequest):
(WebKit::NetworkSession::dataTaskForIdentifier):
(WebKit::NetworkingDataTask::NetworkingDataTask):
(WebKit::NetworkingDataTask::~NetworkingDataTask):
(WebKit::NetworkingDataTask::suspend):
(WebKit::NetworkingDataTask::resume):
(WebKit::NetworkingDataTask::taskIdentifier):
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync):
* WebKit2.xcodeproj/project.pbxproj:
* config.h:

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

5 years ago[Mac] Add support for the USE_TYPO_METRICS flag
fred.wang@free.fr [Thu, 22 Oct 2015 17:17:56 +0000 (17:17 +0000)]
[Mac] Add support for the USE_TYPO_METRICS flag
https://bugs.webkit.org/show_bug.cgi?id=150394

Reviewed by Myles C. Maxfield.

Source/WebCore:

Make the Cocoa backend use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.

No new tests because this is already tested by fonts/use-typo-metrics-1.html

* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::fontHasMathTable): Add a function to verify whether a font has a MATH table.
(WebCore::Font::platformInit): Verify whether the OS/2 USE_TYPO_METRICS flag is set and use the typo metrics if that is the case.

LayoutTests:

Update font, reference and Mac expectation for fonts/use-typo-metrics-1.html

* fonts/lineheight5000-typolineheight2300.woff: Add a MATH table.
* platform/mac-mavericks/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Updated.
* platform/mac/TestExpectations: Remove Mac failure expectation.
* platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Updated.
* platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Updated.

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

5 years agoREGRESSION(r191360): Repro Crash: com.apple.WebKit.WebContent at JavaScriptCore:JSC...
msaboff@apple.com [Thu, 22 Oct 2015 16:12:42 +0000 (16:12 +0000)]
REGRESSION(r191360): Repro Crash: com.apple.WebKit.WebContent at JavaScriptCore:JSC::ExecState::bytecodeOffset + 174
https://bugs.webkit.org/show_bug.cgi?id=150434

Reviewed by Mark Lam.

Source/JavaScriptCore:

Pass the current frame instead of the caller frame to operationVMHandleException when processing an
exception in one of the native thunks.

* jit/JITExceptions.cpp:
(JSC::genericUnwind): Made debug printing of CodeBlock safe for call frames without one.
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::privateCompileCTINativeCall):
* jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):

LayoutTests:

New regression test.

* js/regress-150434-expected.txt: Added.
* js/regress-150434.html: Added.
* js/script-tests/regress-150434.js: Added.
(bar):
(foo):
(test):

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

5 years agoWeb Inspector: Tabbing over CSS properties prepended by * doesn't move the highlighte...
commit-queue@webkit.org [Thu, 22 Oct 2015 15:48:09 +0000 (15:48 +0000)]
Web Inspector: Tabbing over CSS properties prepended by * doesn't move the highlighted range
https://bugs.webkit.org/show_bug.cgi?id=150294

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2015-10-22
Reviewed by Timothy Hatcher.

Moving the selected text when tabbing and shift-tabbing now relies upon
the last index of ";" if it exists instead of whether the line ends with it.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):

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

5 years agoUnreviewed, GTK build fix for disabled redirected XComposite window support.
philn@webkit.org [Thu, 22 Oct 2015 14:24:57 +0000 (14:24 +0000)]
Unreviewed, GTK build fix for disabled redirected XComposite window support.

* UIProcess/API/gtk/WebKitWebViewBase.cpp: Add USE(REDIRECTED_XCOMPOSITE_WINDOW) guards.
* UIProcess/DrawingAreaProxyImpl.h: Mark virtual methods as override to avoid compilation warnings.

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

5 years agoImplement touch-action: manipulation; for iOS
wenson_hsieh@apple.com [Thu, 22 Oct 2015 13:54:55 +0000 (13:54 +0000)]
Implement touch-action: manipulation; for iOS
https://bugs.webkit.org/show_bug.cgi?id=149854
<rdar://problem/23017145>

Reviewed by Benjamin Poulain.

Source/WebCore:

Implements the manipulation value for the CSS property touch-action. Adds support for
parsing the touch-action property and two of its values: auto and manipulation.

Tests: css3/touch-action/touch-action-computed-style.html
       css3/touch-action/touch-action-manipulation-fast-clicks.html
       css3/touch-action/touch-action-parsing.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator TouchAction):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* dom/Element.cpp:
(WebCore::Element::allowsDoubleTapGesture): Here, we determine whether an element that resulted from
    hit-testing a touch should allow double-tap gestures. To do this, we walk up the element's parents,
    stopping when we detect an element that disallows double tap gestures by having a touch-action other
    than auto or by hitting the root node.
* dom/Element.h:
* dom/Node.h:
(WebCore::Node::allowsDoubleTapGesture):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:

Source/WebKit2:

Implements the manipulation value for the CSS property touch-action. Performs hit-testing upon receiving a potential
tap to determine whether to disable double-tap gesture recognition over the duration of the tap. If so, sends a message
from the web process to the UI process indicating that double-tapping should be disabled, allowing single taps to
avoid the delay.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::potentialTapAtPosition):

LayoutTests:

Add tests to check that the manipulation and auto values of the touch-action property can be
properly parsed and can be obtained through computed style. Also tests that putting touch-action:
manipulation on an element and tapping repeatedly on it will fire clicks instead of recognizing
double taps and causing the viewport to zoom.

* TestExpectations:
* css3/touch-action/touch-action-computed-style-expected.txt: Added.
* css3/touch-action/touch-action-computed-style.html: Added.
* css3/touch-action/touch-action-manipulation-fast-clicks-expected.txt: Added.
* css3/touch-action/touch-action-manipulation-fast-clicks.html: Added.
* css3/touch-action/touch-action-parsing-expected.txt: Added.
* css3/touch-action/touch-action-parsing.html: Added.
* platform/ios-simulator-wk2/TestExpectations:

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

5 years agoREGRESSION (r181972): Scroll position changes to top of youtube page when switching...
rniwa@webkit.org [Thu, 22 Oct 2015 11:37:46 +0000 (11:37 +0000)]
REGRESSION (r181972): Scroll position changes to top of youtube page when switching tabs
https://bugs.webkit.org/show_bug.cgi?id=150428

Reviewed by Antti Koivisto.

Source/WebCore:

The bug was caused by updateFocusAppearance in WebPage::restoreSelectionInFocusedEditableElement
revealing the focused element which was added in r181972. Fixed the bug by adding an option to
suppress this behavior here.

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::updateFocusAppearanceSoon):
* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::focus):
(WebCore::Element::updateFocusAppearanceAfterAttachIfNeeded):
(WebCore::Element::updateFocusAppearance):
* dom/Element.h:
* history/CachedPage.cpp:
(WebCore::CachedPage::restore):
* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::updateFocusAppearance):
* html/HTMLAreaElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateFocusAppearance):
(WebCore::HTMLInputElement::runPostTypeUpdateTasks):
(WebCore::HTMLInputElement::didAttachRenderers):
* html/HTMLInputElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::updateFocusAppearance):
* html/HTMLTextAreaElement.h:

Source/WebKit2:

Call updateFocusAppearance with RevealMode::DoNotReveal to avoid revealing the focused element.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::restoreSelectionInFocusedEditableElement):

Tools:

Added a regression test using WebKit API test.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/FirstResponderScrollingPosition.mm: Added.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

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

5 years ago[EFL] Fix build break since r191439
commit-queue@webkit.org [Thu, 22 Oct 2015 10:50:09 +0000 (10:50 +0000)]
[EFL] Fix build break since r191439
https://bugs.webkit.org/show_bug.cgi?id=150441

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-10-22
Reviewed by Csaba Osztrogonác.

No new tests, no new behaviours.

* platform/Logging.cpp:
(WebCore::registerNotifyCallback):

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

5 years agoUnreviewed. Fix a crash in GTk+ after r191402.
carlosgc@webkit.org [Thu, 22 Oct 2015 09:49:33 +0000 (09:49 +0000)]
Unreviewed. Fix a crash in GTk+ after r191402.

Since r191402 WebContextMenuProxy is no longer refcounted, and
std::unique_ptr is used instead. This means that when we show the
context menu for the second time in a web view, a new
WebContextMenuProxy is created and the previous one is
destroyed. We were setting the active context menu of the WebView
in the constructor of WebContextMenuProxy, and unsetting it in the
destructor. Now the constructor of the new WebContextMenuProxy
happens before the destructor of the current one that unsets the
WebView active context menu. This patch simply makes the web view
unset its active context menu when it's unmapped and a new one
hasn't been set.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(activeContextMenuUnmapped):
(webkitWebViewBaseSetActiveContextMenuProxy):
* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):

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

5 years agoUnreviewed. Fix GTK+ build after r191423.
carlosgc@webkit.org [Thu, 22 Oct 2015 08:56:01 +0000 (08:56 +0000)]
Unreviewed. Fix GTK+ build after r191423.

Source/WebCore:

Deprecate removed class WebKitDOMHTMLBaseFontElement.

* PlatformGTK.cmake:
* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_html_base_font_element_init):
(webkit_dom_html_base_font_element_class_init):
(webkit_dom_html_base_font_element_get_color):
(webkit_dom_html_base_font_element_set_color):
(webkit_dom_html_base_font_element_get_face):
(webkit_dom_html_base_font_element_set_face):
(webkit_dom_html_base_font_element_get_size):
(webkit_dom_html_base_font_element_set_size):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/WebKitDOMHTMLPrivate.cpp:
* html/HTMLBaseFontElement.h:
* html/HTMLBaseFontElement.idl:

Tools:

Add WebKitDOMHTMLBaseFontElement to the list of deleted classes.

* gtk/webkitdom.py:
(WebKitDOMDocGenerator):

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

5 years ago[GTK] Try to fix the build after r191402.
carlosgc@webkit.org [Thu, 22 Oct 2015 08:08:23 +0000 (08:08 +0000)]
[GTK] Try to fix the build after r191402.
https://bugs.webkit.org/show_bug.cgi?id=150435

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-10-22
Reviewed by Carlos Garcia Campos.

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::createPopupMenuProxy):
(WebKit::PageClientImpl::createContextMenuProxy):
(WebKit::PageClientImpl::createColorPicker):
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::populate):
(WebKit::WebContextMenuProxyGtk::show):
(WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
(WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
(WebKit::WebContextMenuProxyGtk::menuPositionFunction):
(WebKit::WebContextMenuProxyGtk::showContextMenu): Deleted.
(WebKit::WebContextMenuProxyGtk::hideContextMenu): Deleted.
(WebKit::WebContextMenuProxyGtk::cancelTracking): Deleted.
* UIProcess/gtk/WebContextMenuProxyGtk.h:
(WebKit::WebContextMenuProxyGtk::gtkMenu):
(WebKit::WebContextMenuProxyGtk::create): Deleted.

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

5 years ago[Streams API] Add writable stream attributes
calvaris@igalia.com [Thu, 22 Oct 2015 07:51:08 +0000 (07:51 +0000)]
[Streams API] Add writable stream attributes
https://bugs.webkit.org/show_bug.cgi?id=150389

Reviewed by Darin Adler.

Source/WebCore:

This patch adds the three writable stream attributes, which are closed, ready and state. They are implemented
according to the spec.

Current test set suffices, expectations were adjusted accordingly.

* Modules/streams/WritableStream.js:
(initializeWritableStream): Style fix.
(closed):
(ready):
(state): Implemented according to the spec.
* Modules/streams/WritableStreamInternals.js:
(isWritableStream): Implemented according to the spec.

LayoutTests:

Expectations for the implementation of writable stream attributes.

* streams/reference-implementation/brand-checks-expected.txt:
* streams/reference-implementation/count-queuing-strategy-expected.txt:
* streams/reference-implementation/pipe-to-expected.txt:
* streams/reference-implementation/readable-stream-templated-expected.txt:
* streams/reference-implementation/writable-stream-expected.txt:

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

5 years ago[Win][EFL][GTK] webkitpy test failed after r191374.
commit-queue@webkit.org [Thu, 22 Oct 2015 07:17:20 +0000 (07:17 +0000)]
[Win][EFL][GTK] webkitpy test failed after r191374.
https://bugs.webkit.org/show_bug.cgi?id=150433

Patch by Aakash Jain <aakash_jain@apple.com> on 2015-10-22
Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/common/system/crashlogs_unittest.py:
(CrashLogsTest.test_find_all_log_darwin): Check platform before running test.
(CrashLogsTest.test_find_log_darwin): Same.

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

5 years agoRollout r190440 for the moment. It broke the build.
fred.wang@free.fr [Thu, 22 Oct 2015 07:16:38 +0000 (07:16 +0000)]
Rollout r190440 for the moment. It broke the build.

Source/WebCore:

* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit): Deleted.

LayoutTests:

* fonts/lineheight5000-typolineheight2300.woff:
* platform/mac-mavericks/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
* platform/mac/TestExpectations:
* platform/mac/mathml/opentype/opentype-stretchy-expected.txt:
* platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:

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

5 years agoUnreviewed compilation fix on Mac.
fred.wang@free.fr [Thu, 22 Oct 2015 07:09:43 +0000 (07:09 +0000)]
Unreviewed compilation fix on Mac.

* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit): Use a pointer for the third argument of CFArrayContainsValue.

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

5 years ago[GTK][Mac] ICU-related build fixes
philn@webkit.org [Thu, 22 Oct 2015 07:07:41 +0000 (07:07 +0000)]
[GTK][Mac] ICU-related build fixes
https://bugs.webkit.org/show_bug.cgi?id=150032

Rubber-stamped by Darin Adler.

* Source/cmake/FindICU.cmake: Use pkg-config to hint at icu-i18n's library location.

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

5 years agoUnreviewed compilation fix on Mac.
fred.wang@free.fr [Thu, 22 Oct 2015 06:59:04 +0000 (06:59 +0000)]
Unreviewed compilation fix on Mac.

* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit): Add missing font argument.

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

5 years ago[Mac] Add support for the USE_TYPO_METRICS flag
fred.wang@free.fr [Thu, 22 Oct 2015 06:45:21 +0000 (06:45 +0000)]
[Mac] Add support for the USE_TYPO_METRICS flag
https://bugs.webkit.org/show_bug.cgi?id=150394

Reviewed by Myles C. Maxfield.

Source/WebCore:

Make the Cocoa backend use the typo metrics for fonts with a MATH table when the OS/2 USE_TYPO_METRICS flag is set.

No new tests because this is already tested by fonts/use-typo-metrics-1.html

* platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformInit): Verify whether the OS/2 USE_TYPO_METRICS flag is set and use the typo metrics if that is the case.

LayoutTests:

Update font, reference and Mac expectation for fonts/use-typo-metrics-1.html

* fonts/lineheight5000-typolineheight2300.woff: Add a MATH table.
* platform/mac-mavericks/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Updated.
* platform/mac/TestExpectations: Remove Mac failure expectation.
* platform/mac/mathml/opentype/opentype-stretchy-expected.txt: Updated.
* platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Updated.

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

5 years agoPrint out the render tree from command line.
zalan@apple.com [Thu, 22 Oct 2015 06:10:53 +0000 (06:10 +0000)]
Print out the render tree from command line.
https://bugs.webkit.org/show_bug.cgi?id=150416

Use system-wide notification server (https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/notify_register_dispatch.3.html)
to print out the render tree for the live documents.

Usage: notifyutil -p com.apple.WebKit.showRenderTree

Reviewed by Simon Fraser.

No change in functionality.

* platform/Logging.cpp:
(WebCore::registerNotifyCallback):
* platform/Logging.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
(WebCore::printRenderTreeForLiveDocuments):

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

5 years agoFix CMake clean build after r191423.
achristensen@apple.com [Thu, 22 Oct 2015 05:50:24 +0000 (05:50 +0000)]
Fix CMake clean build after r191423.

* CMakeLists.txt:
HTMLBaseFontElement.idl no longer generates any JavaScript bindings.

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

5 years agoUnreviewed, update watchlist for JS builtins.
bburg@apple.com [Thu, 22 Oct 2015 05:26:28 +0000 (05:26 +0000)]
Unreviewed, update watchlist for JS builtins.

Add a category for JS builtins code generator, similar to other generators.

Add a nag message to rebaseline builtins generator tests when touching
code generator files in Source/JavaScriptCore/Scripts/builtins/.

* Scripts/webkitpy/common/config/watchlist:

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

5 years ago Unreviewed EFL build fix. Remove customizeMenu implementation.
gyuyoung.kim@webkit.org [Thu, 22 Oct 2015 05:13:32 +0000 (05:13 +0000)]
   Unreviewed EFL build fix. Remove customizeMenu implementation.

* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::customizeMenu): Deleted.

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

5 years agoUnreviewed, CMake build fix after r191433.
bburg@apple.com [Thu, 22 Oct 2015 04:51:56 +0000 (04:51 +0000)]
Unreviewed, CMake build fix after r191433.

* CMakeLists.txt: add WritableStreamInternals.js to WebCore_BUILTINS_SOURCES.

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

5 years agoSpeculative EFL build fix.
achristensen@apple.com [Thu, 22 Oct 2015 04:45:53 +0000 (04:45 +0000)]
Speculative EFL build fix.

* WebProcess/WebCoreSupport/WebContextMenuClient.h:
Remove another customizeMenu call.

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

5 years agoRestructure generate-js-bindings script to be modular and testable
bburg@apple.com [Thu, 22 Oct 2015 04:39:01 +0000 (04:39 +0000)]
Restructure generate-js-bindings script to be modular and testable
https://bugs.webkit.org/show_bug.cgi?id=149929

Reviewed by Alex Christensen.

Source/JavaScriptCore:

This is a new code generator, based on the replay inputs code generator and
the inspector protocol code generator, which produces various files for JS
builtins.

Relative to the generator it replaces, this one consolidates two scripts in
JavaScriptCore and WebCore into a single script with multiple files. Parsed
information about the builtins file is stored in backend-independent model
objects. Each output file has its own code generator that uses the model to
produce resulting code. Generators are additionally parameterized by the target
framework (to choose correct macros and includes) and output mode (one
header/implementation file per builtin or per framework).

It includes a few simple tests of the generator's functionality. These result-
based tests will become increasingly more important as we start to add support
for builtins annotation such as @optional, @internal, etc. to the code generator.

Some of these complexities, such as having two output modes, will be removed in
subsequent patches. This patch is intended to exactly replace the existing
functionality with a unified script that makes additional cleanups straightforward.

Additional cleanup and consolidation between inspector code generator scripts
and this script will be pursued in followup patches.

New tests:

Scripts/tests/builtins/JavaScriptCore-Builtin.Promise-Combined.js
Scripts/tests/builtins/JavaScriptCore-Builtin.Promise-Separate.js
Scripts/tests/builtins/JavaScriptCore-Builtin.prototype-Combined.js
Scripts/tests/builtins/JavaScriptCore-Builtin.prototype-Separate.js
Scripts/tests/builtins/JavaScriptCore-BuiltinConstructor-Combined.js
Scripts/tests/builtins/JavaScriptCore-BuiltinConstructor-Separate.js
Scripts/tests/builtins/WebCore-GuardedBuiltin-Separate.js
Scripts/tests/builtins/WebCore-GuardedInternalBuiltin-Separate.js
Scripts/tests/builtins/WebCore-UnguardedBuiltin-Separate.js
Scripts/tests/builtins/WebCore-xmlCasingTest-Separate.js

* CMakeLists.txt:

    Copy the scripts that are used by other targets to a staging directory inside
    ${DERIVED_SOURCES_DIR}/ForwardingHeaders/JavaScriptCore/Scripts.
    Define JavaScriptCore_SCRIPTS_DIR to point here so that the add_custom_command
    and shared file lists are identical between JavaScriptCore and WebCore. The staged
    scripts are a dependency of the main JavaScriptCore target so that they are
    always staged, even if JavaScriptCore itself does not use a particular script.

    The output files additionally depend on all builtin generator script files
    and input files that are combined into the single header/implementation file.

* DerivedSources.make:

    Define JavaScriptCore_SCRIPTS_DIR explicitly so the rule for code generation and
    shared file lists are identical between JavaScriptCore and WebCore.

    The output files additionally depend on all builtin generator script files
    and input files that are combined into the single header/implementation file.

* JavaScriptCore.xcodeproj/project.pbxproj:

    Mark the new builtins generator files as private headers so we can use them from
    WebCore.

* Scripts/UpdateContents.py: Renamed from Source/JavaScriptCore/UpdateContents.py.
* Scripts/builtins/__init__.py: Added.
* Scripts/builtins/builtins.py: Added.
* Scripts/builtins/builtins_generator.py: Added. This file contains the base generator.
(WK_lcfirst):
(WK_ucfirst):
(BuiltinsGenerator):
(BuiltinsGenerator.__init__):
(BuiltinsGenerator.model):
(BuiltinsGenerator.generate_license):
(BuiltinsGenerator.generate_includes_from_entries):
(BuiltinsGenerator.generate_output):
(BuiltinsGenerator.output_filename):
(BuiltinsGenerator.mangledNameForFunction):
(BuiltinsGenerator.mangledNameForFunction.toCamel):
(BuiltinsGenerator.generate_embedded_code_string_section_for_function):
* Scripts/builtins/builtins_model.py: Added. This file contains builtins model objects.
(ParseException):
(Framework):
(Framework.__init__):
(Framework.setting):
(Framework.fromString):
(Frameworks):
(BuiltinObject):
(BuiltinObject.__init__):
(BuiltinFunction):
(BuiltinFunction.__init__):
(BuiltinFunction.fromString):
(BuiltinFunction.__str__):
(BuiltinsCollection):
(BuiltinsCollection.__init__):
(BuiltinsCollection.parse_builtins_file):
(BuiltinsCollection.copyrights):
(BuiltinsCollection.all_functions):
(BuiltinsCollection._parse_copyright_lines):
(BuiltinsCollection._parse_functions):
* Scripts/builtins/builtins_templates.py: Added.
(BuiltinsGeneratorTemplates):
* Scripts/builtins/builtins_generate_combined_header.py: Added.
(BuiltinsCombinedHeaderGenerator):
(BuiltinsCombinedHeaderGenerator.__init__):
(BuiltinsCombinedHeaderGenerator.output_filename):
(BuiltinsCombinedHeaderGenerator.generate_output):
(BuiltinsCombinedHeaderGenerator.generate_forward_declarations):
(FunctionExecutable):
(VM):
(ConstructAbility):
(generate_section_for_object):
(generate_externs_for_object):
(generate_macros_for_object):
(generate_defines_for_object):
(generate_section_for_code_table_macro):
(generate_section_for_code_name_macro):
* Scripts/builtins/builtins_generate_combined_implementation.py: Added.
(BuiltinsCombinedImplementationGenerator):
(BuiltinsCombinedImplementationGenerator.__init__):
(BuiltinsCombinedImplementationGenerator.output_filename):
(BuiltinsCombinedImplementationGenerator.generate_output):
(BuiltinsCombinedImplementationGenerator.generate_header_includes):
* Scripts/builtins/builtins_generate_separate_header.py: Added.
(BuiltinsSeparateHeaderGenerator):
(BuiltinsSeparateHeaderGenerator.__init__):
(BuiltinsSeparateHeaderGenerator.output_filename):
(BuiltinsSeparateHeaderGenerator.macro_prefix):
(BuiltinsSeparateHeaderGenerator.generate_output):
(BuiltinsSeparateHeaderGenerator.generate_forward_declarations):
(FunctionExecutable):
(generate_header_includes):
(generate_section_for_object):
(generate_externs_for_object):
(generate_macros_for_object):
(generate_defines_for_object):
(generate_section_for_code_table_macro):
(generate_section_for_code_name_macro):
* Scripts/builtins/builtins_generate_separate_implementation.py: Added.
(BuiltinsSeparateImplementationGenerator):
(BuiltinsSeparateImplementationGenerator.__init__):
(BuiltinsSeparateImplementationGenerator.output_filename):
(BuiltinsSeparateImplementationGenerator.macro_prefix):
(BuiltinsSeparateImplementationGenerator.generate_output):
(BuiltinsSeparateImplementationGenerator.generate_header_includes):
* Scripts/builtins/builtins_generate_separate_wrapper.py: Added.
(BuiltinsSeparateWrapperGenerator):
(BuiltinsSeparateWrapperGenerator.__init__):
(BuiltinsSeparateWrapperGenerator.output_filename):
(BuiltinsSeparateWrapperGenerator.macro_prefix):
(BuiltinsSeparateWrapperGenerator.generate_output):
(BuiltinsSeparateWrapperGenerator.generate_header_includes):
* Scripts/generate-js-builtins.py: Added.

    Parse command line options, decide which generators and output modes to use.

(generate_bindings_for_builtins_files):
* Scripts/lazywriter.py: Copied from the inspector protocol generator.
(LazyFileWriter):
(LazyFileWriter.__init__):
(LazyFileWriter.write):
(LazyFileWriter.close):
* Scripts/tests/builtins/JavaScriptCore-Builtin.Promise-Combined.js: Added.
* Scripts/tests/builtins/JavaScriptCore-Builtin.Promise-Separate.js: Added.
* Scripts/tests/builtins/JavaScriptCore-Builtin.prototype-Combined.js: Added.
* Scripts/tests/builtins/JavaScriptCore-Builtin.prototype-Separate.js: Added.
* Scripts/tests/builtins/JavaScriptCore-BuiltinConstructor-Combined.js: Added.
* Scripts/tests/builtins/JavaScriptCore-BuiltinConstructor-Separate.js: Added.
* Scripts/tests/builtins/WebCore-GuardedBuiltin-Separate.js: Added.
* Scripts/tests/builtins/WebCore-GuardedInternalBuiltin-Separate.js: Added.
* Scripts/tests/builtins/WebCore-UnguardedBuiltin-Separate.js: Added.
* Scripts/tests/builtins/WebCore-xmlCasingTest-Separate.js: Added.
* Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result: Added.
* Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result: Added.
* Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result: Added.
* Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result: Added.
* Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result: Added.
* Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result: Added.
* Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result: Added.
* Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result: Added.
* Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result: Added.
* Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result: Added.
* builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::BuiltinExecutables):
* builtins/BuiltinExecutables.h:
* create_hash_table:

    Update the generated builtin macro names.

* generate-js-builtins: Removed.

Source/WebCore:

* CMakeLists.txt:

    Define JavaScriptCore_SCRIPTS_DIR explicitly so the add_custom_command and
    shared file lists are identical between JavaScriptCore and WebCore.

    The output files additionally depend on all builtin generator script files.

* DerivedSources.make:

    Use JavaScriptCore_SCRIPTS_DIR so that the rule for code generation and
    shared file lists are identical between JavaScriptCore and WebCore.

    The output files additionally depend on all builtin generator script files.

* WebCore.xcodeproj/project.pbxproj:

    Define JavaScriptCore_SCRIPTS_DIR before calling DerivedSources.make.
    This will eventually be merged with the other similar script paths.

* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::finishCreation):

    Update the generated builtin macro names.

* generate-js-builtins: Removed.

Tools:

Add a stub shell script and basic webkitpy support for running builtins
generator tests.

* Scripts/run-builtins-generator-tests: Added.
(main):
* Scripts/webkitpy/codegen/__init__.py: Added.
* Scripts/webkitpy/codegen/main.py: Added.

    The only interesting difference here from the inspector protocol
    generator equivalent is that this implementation decodes the target
    framework and output mode (combined or separate) from the test's file name.

(BuiltinsGeneratorTests):
(BuiltinsGeneratorTests.__init__):
(BuiltinsGeneratorTests.generate_from_js_builtins):
(BuiltinsGeneratorTests.write_error_file):
(BuiltinsGeneratorTests.detect_changes):
(BuiltinsGeneratorTests.run_tests):
(BuiltinsGeneratorTests.main):

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

5 years agoRecommit r191428.
achristensen@apple.com [Thu, 22 Oct 2015 03:17:06 +0000 (03:17 +0000)]
Recommit r191428.

I don't think it was supposed to be reverted in r191429, and it really does fix the build.

* loader/EmptyClients.h:
(WebCore::EmptyContextMenuClient::~EmptyContextMenuClient):
Remove customizeMenu again.

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

5 years agoAdding http/tests/media/video-load-suspend.html to the list of flaky media tests
commit-queue@webkit.org [Thu, 22 Oct 2015 02:55:16 +0000 (02:55 +0000)]
Adding http/tests/media/video-load-suspend.html to the list of flaky media tests
https://bugs.webkit.org/show_bug.cgi?id=150408

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

* platform/mac/TestExpectations:

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

5 years agoMarking imported/blink/fast/overflow/hidden-html-auto-body.html as flaky
commit-queue@webkit.org [Thu, 22 Oct 2015 02:49:05 +0000 (02:49 +0000)]
Marking imported/blink/fast/overflow/hidden-html-auto-body.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=150419

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

* platform/mac-wk2/TestExpectations:

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

5 years ago[EFL][GTK][WK2] Fix build break since r191402, r191401
gyuyoung.kim@webkit.org [Thu, 22 Oct 2015 02:27:15 +0000 (02:27 +0000)]
[EFL][GTK][WK2] Fix build break since r191402, r191401
https://bugs.webkit.org/show_bug.cgi?id=150432

Unreviewed EFL and GTK build fix.

Source/WebCore:

* loader/EmptyClients.h:

Source/WebKit2:

* CMakeLists.txt:
* UIProcess/CoordinatedGraphics/WebView.cpp:
(WebKit::WebView::createContextMenuProxy):
* UIProcess/CoordinatedGraphics/WebView.h:
* UIProcess/efl/WebContextMenuProxyEfl.cpp:
(WebKit::WebContextMenuProxyEfl::show):
* UIProcess/efl/WebContextMenuProxyEfl.h:
(WebKit::WebContextMenuProxyEfl::create): Deleted.
* UIProcess/efl/WebViewEfl.cpp:
(WebKit::WebViewEfl::createContextMenuProxy):
* UIProcess/efl/WebViewEfl.h:
* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::customizeMenu):
* WebProcess/WebCoreSupport/WebContextMenuClient.h:

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

5 years agoBuild fix after r191422.
achristensen@apple.com [Thu, 22 Oct 2015 02:18:42 +0000 (02:18 +0000)]
Build fix after r191422.

* page/ContextMenuClient.h:
(WebCore::ContextMenuClient::~ContextMenuClient):
Completely remove customizeMenu.

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

5 years agoRemove unnecessary default quota setting in DatabaseContext::databaseExceededQuota
gyuyoung.kim@webkit.org [Thu, 22 Oct 2015 02:02:04 +0000 (02:02 +0000)]
Remove unnecessary default quota setting in DatabaseContext::databaseExceededQuota
https://bugs.webkit.org/show_bug.cgi?id=150356

Reviewed by Darin Adler.

All ports have supported DatabaseContext::databaseExceededQuota(). Thus we don't need to
keep a test code to extend database quota anymore.

* Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::databaseExceededQuota): Deleted.

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

5 years ago[JSC] Remove FTL Native Inlining, it is dead code
benjamin@webkit.org [Thu, 22 Oct 2015 01:58:24 +0000 (01:58 +0000)]
[JSC] Remove FTL Native Inlining, it is dead code
https://bugs.webkit.org/show_bug.cgi?id=150429

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-10-21
Reviewed by Filip Pizlo.

The code is not used and it is in the way of other changes.

* ftl/FTLAbbreviations.h:
(JSC::FTL::getFirstInstruction): Deleted.
(JSC::FTL::getNextInstruction): Deleted.
(JSC::FTL::getFirstBasicBlock): Deleted.
(JSC::FTL::getNextBasicBlock): Deleted.
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::isInlinableSize): Deleted.
* runtime/Options.h:

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

5 years ago[JSC] Remove two useless temporaries from the PutByOffset codegen
benjamin@webkit.org [Thu, 22 Oct 2015 01:57:26 +0000 (01:57 +0000)]
[JSC] Remove two useless temporaries from the PutByOffset codegen
https://bugs.webkit.org/show_bug.cgi?id=150421

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-10-21
Reviewed by Geoffrey Garen.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile): Deleted.
Looks like they were added by accident in r160796.

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

5 years agoFactor out the graph node worklists from DFG into WTF
fpizlo@apple.com [Thu, 22 Oct 2015 01:46:06 +0000 (01:46 +0000)]
Factor out the graph node worklists from DFG into WTF
https://bugs.webkit.org/show_bug.cgi?id=150411

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Rewrite the DFGBlockWorklist.h file as a bunch of typedefs and aliases for things in
wtf/GraphNodeWorklist.h. Most users won't notice, except that some small things got
renamed. For example PreOrder becomes VisitOrder::Pre and item.block becomes item.node.

* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGBlockWorklist.cpp: Removed.
* dfg/DFGBlockWorklist.h:
(JSC::DFG::BlockWorklist::notEmpty): Deleted.
(JSC::DFG::BlockWith::BlockWith): Deleted.
(JSC::DFG::BlockWith::operator bool): Deleted.
(JSC::DFG::ExtendedBlockWorklist::ExtendedBlockWorklist): Deleted.
(JSC::DFG::ExtendedBlockWorklist::forcePush): Deleted.
(JSC::DFG::ExtendedBlockWorklist::push): Deleted.
(JSC::DFG::ExtendedBlockWorklist::notEmpty): Deleted.
(JSC::DFG::ExtendedBlockWorklist::pop): Deleted.
(JSC::DFG::BlockWithOrder::BlockWithOrder): Deleted.
(JSC::DFG::BlockWithOrder::operator bool): Deleted.
(JSC::DFG::PostOrderBlockWorklist::push): Deleted.
(JSC::DFG::PostOrderBlockWorklist::notEmpty): Deleted.
* dfg/DFGDominators.cpp:
(JSC::DFG::Dominators::compute):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::blocksInPostOrder):
* dfg/DFGPrePostNumbering.cpp:
(JSC::DFG::PrePostNumbering::compute):

Source/WTF:

The new GraphNodeWorklist.h file is basically just the functionality from the old
DFGBlockWorklist.h, but templatized to work for any graph node type and any kind of graph
node set.

* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/GraphNodeWorklist.h: Added.
(WTF::GraphNodeWorklist::push):
(WTF::GraphNodeWorklist::notEmpty):
(WTF::GraphNodeWorklist::pop):
(WTF::GraphNodeWith::GraphNodeWith):
(WTF::GraphNodeWith::operator bool):
(WTF::ExtendedGraphNodeWorklist::ExtendedGraphNodeWorklist):
(WTF::ExtendedGraphNodeWorklist::forcePush):
(WTF::ExtendedGraphNodeWorklist::push):
(WTF::ExtendedGraphNodeWorklist::notEmpty):
(WTF::ExtendedGraphNodeWorklist::pop):
(WTF::GraphNodeWithOrder::GraphNodeWithOrder):
(WTF::GraphNodeWithOrder::operator bool):
(WTF::PostOrderGraphNodeWorklist::PostOrderGraphNodeWorklist):
(WTF::PostOrderGraphNodeWorklist::~PostOrderGraphNodeWorklist):
(WTF::PostOrderGraphNodeWorklist::pushPre):
(WTF::PostOrderGraphNodeWorklist::pushPost):
(WTF::PostOrderGraphNodeWorklist::push):
(WTF::PostOrderGraphNodeWorklist::notEmpty):
(WTF::PostOrderGraphNodeWorklist::pop):
* wtf/HashTable.h:
(WTF::HashTableAddResult::HashTableAddResult):
(WTF::HashTableAddResult::operator bool):

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

5 years agoUn-expose obsolete HTMLBaseFontElement
cdumez@apple.com [Thu, 22 Oct 2015 00:58:24 +0000 (00:58 +0000)]
Un-expose obsolete HTMLBaseFontElement
https://bugs.webkit.org/show_bug.cgi?id=150397

Reviewed by Anders Carlsson.

LayoutTests/imported/w3c:

Rebaseline a couple of W3C HTML tests now that more checks are passing.

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

Source/WebCore:

Un-expose obsolete HTMLBaseFontElement:
- https://html.spec.whatwg.org/multipage/obsolete.html#non-conforming-features

This means that we no longer expose HTMLBaseFontElement on the global
Window object. Firefox and Chrome do not expose it either.

Also, document.createElement("basefont") now returns an HTMLUnknownElement
as per the specification. Firefox and Chrome return a generic HTMLElement
instead but I don't think this is a big compatibility risk.

No new tests, already covered by existing tests.

* html/HTMLBaseFontElement.cpp:
(WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
* html/HTMLBaseFontElement.h:
* html/HTMLBaseFontElement.idl:
* html/HTMLTagNames.in:

LayoutTests:

Update existing layout tests to stop expecting HTMLBaseFontElement to
be exposed.

* dom/html/level2/html/HTMLBaseFontElement01-expected.txt: Removed.
* dom/html/level2/html/HTMLBaseFontElement01.html: Removed.
* dom/html/level2/html/HTMLBaseFontElement01.js: Removed.
* dom/html/level2/html/HTMLBaseFontElement02-expected.txt: Removed.
* dom/html/level2/html/HTMLBaseFontElement02.html: Removed.
* dom/html/level2/html/HTMLBaseFontElement02.js: Removed.
* dom/html/level2/html/HTMLBaseFontElement03-expected.txt: Removed.
* dom/html/level2/html/HTMLBaseFontElement03.html: Removed.
* dom/html/level2/html/HTMLBaseFontElement03.js: Removed.
* dom/html/level2/html/basefont01-expected.txt: Removed.
* dom/html/level2/html/basefont01.html: Removed.
* dom/html/level2/html/basefont01.js: Removed.
* dom/xhtml/level2/html/HTMLBaseFontElement01-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLBaseFontElement01.js: Removed.
* dom/xhtml/level2/html/HTMLBaseFontElement01.xhtml: Removed.
* dom/xhtml/level2/html/HTMLBaseFontElement02-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLBaseFontElement02.js: Removed.
* dom/xhtml/level2/html/HTMLBaseFontElement02.xhtml: Removed.
* dom/xhtml/level2/html/HTMLBaseFontElement03-expected.txt: Removed.
* dom/xhtml/level2/html/HTMLBaseFontElement03.js: Removed.
* dom/xhtml/level2/html/HTMLBaseFontElement03.xhtml: Removed.
* dom/xhtml/level2/html/basefont01-expected.txt: Removed.
* dom/xhtml/level2/html/basefont01.js: Removed.
* dom/xhtml/level2/html/basefont01.xhtml: Removed.
Drop Legacy W3C DOM level 2 basefont tests.

* fast/dom/Window/element-constructors-on-window-expected.txt:
* fast/dom/Window/element-constructors-on-window.html:
* fast/dom/Window/get-set-properties-expected.txt:
* fast/dom/Window/get-set-properties.html:
* fast/dom/Window/resources/window-properties.js:
* fast/dom/Window/window-lookup-precedence-expected.txt:
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:
* fast/dom/element-attribute-js-null-expected.txt:
* fast/dom/element-attribute-js-null.html:
* fast/dom/html-attribute-types-expected.txt:
* fast/dom/html-attribute-types.html:
* 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/fast/dom/Window/window-lookup-precedence-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/fast/dom/Window/window-lookup-precedence-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@191423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoGet rid of WebContextMenuClient::customizeMenu, it's no longer used
andersca@apple.com [Thu, 22 Oct 2015 00:50:27 +0000 (00:50 +0000)]
Get rid of WebContextMenuClient::customizeMenu, it's no longer used
https://bugs.webkit.org/show_bug.cgi?id=150427

Reviewed by Tim Horton.
Source/WebCore:

* loader/EmptyClients.cpp:
(WebCore::EmptyContextMenuClient::customizeMenu): Deleted.
* loader/EmptyClients.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showContextMenu):

Source/WebKit/win:

* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::customizeMenu): Deleted.
* WebCoreSupport/WebContextMenuClient.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
(WebKit::WebContextMenuClient::customizeMenu): Deleted.
* WebProcess/WebCoreSupport/WebContextMenuClient.h:

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

5 years agoWeb Inspector: srcset attributes should have hyperlinks to the resources
commit-queue@webkit.org [Thu, 22 Oct 2015 00:50:25 +0000 (00:50 +0000)]
Web Inspector: srcset attributes should have hyperlinks to the resources
https://bugs.webkit.org/show_bug.cgi?id=150409

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-10-21
Reviewed by Timothy Hatcher.

The "srcset" attribute parsing is a simplification of:
https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset

The "srcset" attribute value is expected to be in comma
separated groups. Within each group we always expect a link,
and an optional descriptor. We want to linkify the link.

* UserInterface/Views/CodeMirrorAdditions.js:
(tokenizeSrcSetString):
(extendedXMLToken):
When parsing srcset attribute, parse links as link tokens
so that they are linkified in resource content views.

* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
When creating the DOMTree DOM for srcset attributes,
create link elements for the link values of attribute value.

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

5 years agoRemove dead MHTML code
andersca@apple.com [Thu, 22 Oct 2015 00:46:20 +0000 (00:46 +0000)]
Remove dead MHTML code
https://bugs.webkit.org/show_bug.cgi?id=150426

Reviewed by Tim Horton.

* loader/archive/mhtml/MHTMLArchive.cpp:
(WebCore::MHTMLArchive::generateMHTMLData):
(WebCore::MHTMLArchive::generateMHTMLDataUsingBinaryEncoding): Deleted.
* loader/archive/mhtml/MHTMLArchive.h:

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

5 years agoWeb Inspector: Autocompletion previews in the CSS sidebar do not apply
commit-queue@webkit.org [Thu, 22 Oct 2015 00:31:23 +0000 (00:31 +0000)]
Web Inspector: Autocompletion previews in the CSS sidebar do not apply
https://bugs.webkit.org/show_bug.cgi?id=147720

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2015-10-21
Reviewed by Timothy Hatcher.

When autocompletion hints are added to styles or the console, the history
object used by CodeMirror was edited to remove the last entry. Instead of
using this method (which caused glitchy behaviour when undo-ing), call
CodeMirror.undo() and adjust accordingly. In addition, a marker was being
used as the completion hint instead of applying text, whereas these
changes use actual text, ensuring that completions are previewed in the page.

* UserInterface/Controllers/CodeMirrorCompletionController.js:
(WebInspector.CodeMirrorCompletionController):
(WebInspector.CodeMirrorCompletionController.prototype.close):
(WebInspector.CodeMirrorCompletionController.prototype._applyCompletionHint.update):
(WebInspector.CodeMirrorCompletionController.prototype._commitCompletionHint.update):
(WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.update):
(WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint):
(WebInspector.CodeMirrorCompletionController.prototype._handleBeforeChange):
(WebInspector.CodeMirrorCompletionController.prototype._createCompletionHintMarker): Deleted.
(WebInspector.CodeMirrorCompletionController.prototype._removeCompletionHint.clearMarker): Deleted.

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

5 years agoWeb Inspector: Add forgotten WebInspector.UIString from r190521
commit-queue@webkit.org [Thu, 22 Oct 2015 00:29:51 +0000 (00:29 +0000)]
Web Inspector: Add forgotten WebInspector.UIString from r190521
https://bugs.webkit.org/show_bug.cgi?id=150425

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2015-10-21
Reviewed by Timothy Hatcher.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(UserInterface/Views/CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded)

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

5 years agoWeb Inspector: Adjust usages of classList.toggle to ensure a true/false value instead...
commit-queue@webkit.org [Thu, 22 Oct 2015 00:26:29 +0000 (00:26 +0000)]
Web Inspector: Adjust usages of classList.toggle to ensure a true/false value instead of undefined
https://bugs.webkit.org/show_bug.cgi?id=150424

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2015-10-21
Reviewed by Timothy Hatcher.

Adds "!!" in front of force parameters in classList.toggle calls that
could possibly be undefined (thereby breaking the UI).

* UserInterface/Views/ScopeBarItem.js:
(WebInspector.ScopeBarItem):
* UserInterface/Views/VisualStyleDetailsPanel.js:
(WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
* UserInterface/Views/VisualStylePropertyEditor.js:
(WebInspector.VisualStylePropertyEditor):

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

5 years agoWeb Inspector: Option-Up doesn't increment certain attribute values
commit-queue@webkit.org [Thu, 22 Oct 2015 00:13:29 +0000 (00:13 +0000)]
Web Inspector: Option-Up doesn't increment certain attribute values
https://bugs.webkit.org/show_bug.cgi?id=149257

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2015-10-21
Reviewed by Brian Burg.

If the user tries to modify a numerical attribute in HTML and the cursor
was at the beginning of the attribute value, the range of the selection
was within a sibling element instead of the text node containin the value.
This patch fixes this issue and ensures that the correct text is selected.

* UserInterface/Views/EditingSupport.js:
(WebInspector.startEditing.handleEditingResult):
Replaced var with let.

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

5 years agoAPI-ify the FindMatches client
timothy_horton@apple.com [Thu, 22 Oct 2015 00:07:27 +0000 (00:07 +0000)]
API-ify the FindMatches client
https://bugs.webkit.org/show_bug.cgi?id=150422

Reviewed by Anders Carlsson.

* UIProcess/API/APIFindMatchesClient.h: Renamed from Source/WebKit2/UIProcess/WebFindClient.h.
(API::FindMatchesClient::~FindMatchesClient):
(API::FindMatchesClient::didFindStringMatches):
(API::FindMatchesClient::didGetImageForMatchResult):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageFindMatchesClient):
* UIProcess/WebFindClient.cpp: Removed.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setFindMatchesClient):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::didGetImageForFindMatch):
(WebKit::WebPageProxy::didFindStringMatches):
(WebKit::WebPageProxy::initializeFindMatchesClient): Deleted.
* UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::findMatchesClient):
* WebKit2.xcodeproj/project.pbxproj:

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

5 years agoWebProcess crashes when accessibility bundle is not found.
enrica@apple.com [Thu, 22 Oct 2015 00:02:01 +0000 (00:02 +0000)]
WebProcess crashes when accessibility bundle is not found.
https://bugs.webkit.org/show_bug.cgi?id=150414

Reviewed by Dan Bernstein.

The uninitialized pointer to NSError causes the print function to crash.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::registerWithAccessibility):

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

5 years agoSimplify context menu handling on Windows
andersca@apple.com [Wed, 21 Oct 2015 23:54:32 +0000 (23:54 +0000)]
Simplify context menu handling on Windows
https://bugs.webkit.org/show_bug.cgi?id=150423

Reviewed by Tim Horton.

Instead of converting a ContextMenu to a HMENU, then back to a ContextMenu, and then back to a HMENU again
just convert it once right before showing it and let the UIDelegate return a new menu at at time where we don't
have to convert it back.

* WebCoreSupport/WebContextMenuClient.cpp:
(WebContextMenuClient::customizeMenu):
* WebView.cpp:
(WebView::createContextMenu):
(WebView::handleContextMenuEvent):
* WebView.h:

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

5 years agoMove services menu handling out into a separate function
andersca@apple.com [Wed, 21 Oct 2015 23:14:31 +0000 (23:14 +0000)]
Move services menu handling out into a separate function
https://bugs.webkit.org/show_bug.cgi?id=150420

Reviewed by Tim Horton.

* UIProcess/mac/WebContextMenuProxyMac.h:
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showServicesMenu):
(WebKit::WebContextMenuProxyMac::show):
(WebKit::WebContextMenuProxyMac::showContextMenu):
(WebKit::WebContextMenuProxyMac::populate): Deleted.

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

5 years agorun-webkit-tests does not copy all crash logs for layout test failures on Mac
commit-queue@webkit.org [Wed, 21 Oct 2015 23:05:53 +0000 (23:05 +0000)]
run-webkit-tests does not copy all crash logs for layout test failures on Mac
https://bugs.webkit.org/show_bug.cgi?id=150407
<rdar://problem/22239750>

Patch by Aakash Jain <aakash_jain@apple.com> on 2015-10-21
Reviewed by Alexey Proskuryakov.

* Scripts/webkitpy/port/mac.py:
(MacPort._merge_crash_logs): Merge unique crash logs from two dictionaries.
(MacPort._look_for_all_crash_logs_in_log_dir): Get the crash logs from
the log directory.
(MacPort.look_for_new_crash_logs): Uses above method to get crash logs
from log directory and merge them with the list of already crashed tests.

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

5 years agoSingle tapping clickable elements in unscalable pages should show a tap highlight
wenson_hsieh@apple.com [Wed, 21 Oct 2015 22:30:59 +0000 (22:30 +0000)]
Single tapping clickable elements in unscalable pages should show a tap highlight
https://bugs.webkit.org/show_bug.cgi?id=150382

Reviewed by Simon Fraser.

When the double tap gesture recognizer is disabled ahead of time (as in the case of unscalable pages) the tap is
committed before the geometries come in. To fix this, we introduce a flag that allows the single tap to be
committed before the tap highlight arrives. This allows the tap highlight to be immediately animated when receiving
the tap highlight geometries only in the case where double tapping is disabled when recognizing the single tap.

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _didGetTapHighlightForRequest:color:quads:topLeftRadius:topRightRadius:bottomLeftRadius:bottomRightRadius:]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _singleTapCommited:]):

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

5 years agoGet rid of useBinaryEncoding from WKPageGetContentsAsMHTMLData
andersca@apple.com [Wed, 21 Oct 2015 22:30:01 +0000 (22:30 +0000)]
Get rid of useBinaryEncoding from WKPageGetContentsAsMHTMLData
https://bugs.webkit.org/show_bug.cgi?id=150417

Reviewed by Tim Horton.

The useBinaryEncoding parameter is always false, so just get rid of it.

* UIProcess/API/C/WKPage.cpp:
(WKPageGetContentsAsMHTMLData):
* UIProcess/API/C/WKPage.h:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_page_contents_get):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_save):
(webkit_web_view_save_to_file):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getContentsAsMHTMLData):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::getContentsAsMHTMLData):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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