WebKit-https.git
5 years agoStatic property hashtable should only lookup with non-symbol key
utatane.tea@gmail.com [Sat, 2 May 2015 15:28:24 +0000 (15:28 +0000)]
Static property hashtable should only lookup with non-symbol key
https://bugs.webkit.org/show_bug.cgi?id=144438

Reviewed by Darin Adler.

Static property hashtable compares the Identifier's uid
with the normal C string without interning it.
So this comparison is performed in their contents.
As the result, in this comparison, symbol-ness is not considered.

So if accidentally the hash collision occur with the symbol and the string
and they have the same contents, the hash table entry is looked up incorrectly.

* runtime/Lookup.h:
(JSC::HashTable::entry):

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

5 years agoWeb Inspector: Allow closing and reopening the Resources tab
timothy@apple.com [Sat, 2 May 2015 09:41:26 +0000 (09:41 +0000)]
Web Inspector: Allow closing and reopening the Resources tab
https://bugs.webkit.org/show_bug.cgi?id=144513

Reviewed by Joseph Pecoraro.

* UserInterface/Base/Main.js:
(WebInspector._updateNewTabButtonState):
* UserInterface/Views/NewTabContentView.js:
(WebInspector.NewTabContentView):
* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel):
(WebInspector.ResourceSidebarPanel.prototype.closed):
* UserInterface/Views/ResourcesTabContentView.js:
(WebInspector.ResourcesTabContentView):

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

5 years agoWeb Inspector: REGRESSION: Resources section doesn't update after changes are made...
timothy@apple.com [Sat, 2 May 2015 09:36:12 +0000 (09:36 +0000)]
Web Inspector: REGRESSION: Resources section doesn't update after changes are made to a local file
https://bugs.webkit.org/show_bug.cgi?id=144512

The content view was being associated with the wrong represented object. This caused the code to use
the old main resource when showing the frame again.

Reviewed by Joseph Pecoraro.

* UserInterface/Base/Main.js:
(WebInspector._frameWasAdded.delayedWork):
(WebInspector._frameWasAdded):
With the changes in ResourceSidebarPanel, we need to delay showing the frame.

* UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView.prototype.showRepresentedObject):
Avoid restoring state by calling cancelRestoringState(). Not fully related to this bug,
but it was preventing testing the cases.

* UserInterface/Views/ContentViewContainer.js:
(WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject):
This fixes the bug. Don't associate the content view with the Frame, associate it with
the Resource that we actually show.

* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype.cancelRestoringState): Added.

* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel): Remove unused _waitingForInitialMainFrame.
(WebInspector.ResourceSidebarPanel.prototype.treeElementForRepresentedObject):
(WebInspector.ResourceSidebarPanel.prototype._mainResourceDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
Clean up how we show the main frame in the sidebar. This was a two step mess before.

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

5 years agoAvoid compositing updates after style recalcs which have no compositing implications
simon.fraser@apple.com [Sat, 2 May 2015 02:32:29 +0000 (02:32 +0000)]
Avoid compositing updates after style recalcs which have no compositing implications
https://bugs.webkit.org/show_bug.cgi?id=144502

Reviewed by Darin Adler.

Source/WebCore:

After r183461, we have reliable information about whether a style change with zero
diff can be reliably ignored. Use that information to track whether a given
recalcStyle() does anything which should force a compositing update.

This eliminates up to 40% of the post-recalcStyle compositing updates on some pages.

Add Internals API to test.

Test: compositing/updates/no-style-change-updates.html

* dom/Document.cpp:
(WebCore::Document::recalcStyle): Tell the FrameView we're going to recalc style.
* page/FrameView.cpp:
(WebCore::FrameView::willRecalcStyle): Pass it on to the compositor.
(WebCore::FrameView::updateCompositingLayersAfterStyleChange): Move the code
that was here into RenderLayerCompositor::didRecalcStyleWithNoPendingLayout().
* page/FrameView.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::willRecalcStyle): Reset the m_layerNeedsCompositingUpdate flag.
(WebCore::RenderLayerCompositor::didRecalcStyleWithNoPendingLayout): Bail on the update if
no layers changed.
(WebCore::RenderLayerCompositor::updateCompositingLayers): Logging. Increment m_compositingUpdateCount,
which is used for testing.
(WebCore::RenderLayerCompositor::layerStyleChanged): Set the m_layerNeedsCompositingUpdate flag.
(WebCore::RenderLayerCompositor::startTrackingCompositingUpdates): Reset the counter.
(WebCore::RenderLayerCompositor::compositingUpdateCount):
* rendering/RenderLayerCompositor.h:
* testing/Internals.cpp:
(WebCore::Internals::startTrackingCompositingUpdates):
(WebCore::Internals::compositingUpdateCount):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

Use internals.compositingUpdateCount() to see if various document mutations
cause a compositing update. Doesn't actually detect any behavior change
from this patch, but seems useful in general.

* compositing/updates/no-style-change-updates-expected.txt: Added.
* compositing/updates/no-style-change-updates.html: Added.

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

5 years agoClass syntax should allow string and numeric identifiers for method names
rniwa@webkit.org [Sat, 2 May 2015 02:23:01 +0000 (02:23 +0000)]
Class syntax should allow string and numeric identifiers for method names
https://bugs.webkit.org/show_bug.cgi?id=144254

Reviewed by Darin Adler.

Source/JavaScriptCore:

Added the support for string and numeric identifiers in class syntax.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFunctionInfo): Instead of using ConstructorKind to indicate whether we're
inside a class or not, use the newly added SuperBinding argument instead. ConstructorKind is now None
outside a class constructor as it should be.
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass): No longer expects an identifier at the beginning of every class
element to allow numeric and string method names. For both of those method names, parse it here instead
of parseFunctionInfo since it doesn't support either type. Also pass in SuperBinding::Needed.
(JSC::Parser<LexerType>::parsePropertyMethod): Call parseFunctionInfo with SuperBinding::NotNeeded since
this function is never used to parse a class method.
(JSC::Parser<LexerType>::parseGetterSetter): Pass in superBinding argument to parseFunctionInfo.
(JSC::Parser<LexerType>::parsePrimaryExpression): Call parseFunctionInfo with SuperBinding::NotNeeded.
* parser/Parser.h:
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createProperty):

LayoutTests:

Added a test and rebaselined other tests per syntax error message change.

* js/class-syntax-declaration-expected.txt:
* js/class-syntax-expression-expected.txt:
* js/class-syntax-string-and-numeric-names-expected.txt: Added.
* js/class-syntax-string-and-numeric-names.html: Added.
* js/class-syntax-super-expected.txt:
* js/script-tests/class-syntax-declaration.js:
* js/script-tests/class-syntax-expression.js:
* js/script-tests/class-syntax-string-and-numeric-names.js: Added.
* js/script-tests/class-syntax-super.js:

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

5 years agoFTL should use AI more
fpizlo@apple.com [Sat, 2 May 2015 01:59:46 +0000 (01:59 +0000)]
FTL should use AI more
https://bugs.webkit.org/show_bug.cgi?id=144500

Reviewed by Oliver Hunt.

This makes our type check folding even more comprehensive by ensuring that even if the FTL
decides to emit some checks, it will still do another query to the abstract interpreter to
see if the check is necessary. This helps with cases where we decided early on to speculate
one way, but later proved a more specific type of the value in question, and the constant
folder didn't catch it.

This also makes it more natural to query the abstract interpreter. For example, if you just
want the proven type, you can now say provenType(node) or provenType(edge).

* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::alreadyChecked):
* dfg/DFGArrayMode.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileBooleanToNumber):
(JSC::FTL::LowerDFGToLLVM::compileToThis):
(JSC::FTL::LowerDFGToLLVM::compileValueAdd):
(JSC::FTL::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::LowerDFGToLLVM::compileArithPow):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileCheckArray):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileToStringOrCallStringConstructor):
(JSC::FTL::LowerDFGToLLVM::compileToPrimitive):
(JSC::FTL::LowerDFGToLLVM::compileStringCharAt):
(JSC::FTL::LowerDFGToLLVM::compileStringCharCodeAt):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compileIsBoolean):
(JSC::FTL::LowerDFGToLLVM::compileIsNumber):
(JSC::FTL::LowerDFGToLLVM::compileIsString):
(JSC::FTL::LowerDFGToLLVM::compileIsObject):
(JSC::FTL::LowerDFGToLLVM::compileInstanceOf):
(JSC::FTL::LowerDFGToLLVM::numberOrNotCellToInt32):
(JSC::FTL::LowerDFGToLLVM::baseIndex):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::typedArrayLength):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::lowInt32):
(JSC::FTL::LowerDFGToLLVM::lowInt52):
(JSC::FTL::LowerDFGToLLVM::lowCell):
(JSC::FTL::LowerDFGToLLVM::lowBoolean):
(JSC::FTL::LowerDFGToLLVM::lowDouble):
(JSC::FTL::LowerDFGToLLVM::isCellOrMisc):
(JSC::FTL::LowerDFGToLLVM::isNotCellOrMisc):
(JSC::FTL::LowerDFGToLLVM::isNumber):
(JSC::FTL::LowerDFGToLLVM::isNotNumber):
(JSC::FTL::LowerDFGToLLVM::isNotCell):
(JSC::FTL::LowerDFGToLLVM::isCell):
(JSC::FTL::LowerDFGToLLVM::isNotMisc):
(JSC::FTL::LowerDFGToLLVM::isMisc):
(JSC::FTL::LowerDFGToLLVM::isNotBoolean):
(JSC::FTL::LowerDFGToLLVM::isBoolean):
(JSC::FTL::LowerDFGToLLVM::isNotOther):
(JSC::FTL::LowerDFGToLLVM::isOther):
(JSC::FTL::LowerDFGToLLVM::isProvenValue):
(JSC::FTL::LowerDFGToLLVM::isObject):
(JSC::FTL::LowerDFGToLLVM::isNotObject):
(JSC::FTL::LowerDFGToLLVM::isNotString):
(JSC::FTL::LowerDFGToLLVM::isString):
(JSC::FTL::LowerDFGToLLVM::isFunction):
(JSC::FTL::LowerDFGToLLVM::isNotFunction):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateStringObjectForStructureID):
(JSC::FTL::LowerDFGToLLVM::speculateNotStringVar):
(JSC::FTL::LowerDFGToLLVM::abstractValue):
(JSC::FTL::LowerDFGToLLVM::provenType):
(JSC::FTL::LowerDFGToLLVM::provenValue):
(JSC::FTL::LowerDFGToLLVM::abstractStructure):

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

5 years agoCreate a set of initial scroll snap point tests
bfulgham@apple.com [Sat, 2 May 2015 01:44:54 +0000 (01:44 +0000)]
Create a set of initial scroll snap point tests
https://bugs.webkit.org/show_bug.cgi?id=142358

Reviewed by Simon Fraser.

* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical.html: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-expected.txt: Added.
* platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical.html: Added.

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

5 years agoReproducible crash removing name attribute from <img> node
akling@apple.com [Sat, 2 May 2015 01:29:29 +0000 (01:29 +0000)]
Reproducible crash removing name attribute from <img> node
<https://webkit.org/b/144371>
<rdar://problem/17198583>

Reviewed by Darin Adler.

Source/WebCore:

The problem here was with HTMLImageElement::getNameAttribute(), which relies
on Element::hasName() to avoid slow attribute lookups when the attribute
is already known not to be present. Unfortunately hasName() uses an ElementData
flag that wasn't getting updated until after the call to parseAttribute().

This patch fixes the issue by moving the code that updates the hasName() flag
before the parseAttribute() virtual dispatch.

Test: fast/dom/HTMLImageElement/remove-name-id-attribute-from-image.html

* dom/Element.cpp:
(WebCore::Element::attributeChanged):

LayoutTests:

* fast/dom/HTMLImageElement/remove-name-id-attribute-from-image-expected.txt: Added.
* fast/dom/HTMLImageElement/remove-name-id-attribute-from-image.html: Added.

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

5 years agoPostpone caption style sheet creation
eric.carlson@apple.com [Sat, 2 May 2015 01:11:28 +0000 (01:11 +0000)]
Postpone caption style sheet creation
https://bugs.webkit.org/show_bug.cgi?id=144499

Reviewed by Simon Fraser.
Source/WebCore:

Generating and inserting the caption user style sheet is expensive so don't do it until
we see a text track, and only do it for the first video element in a PageGroup.

Test: media/track/track-user-stylesheet.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::registerWithDocument): Only register for caption preferences
changes if we have done so before.
(WebCore::HTMLMediaElement::unregisterWithDocument): Only unregister for caption preferences
changes if we registered for them.
(WebCore::HTMLMediaElement::addTextTrack): Register for caption preference changes.
* html/HTMLMediaElement.h:

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::setInterestedInCaptionPreferenceChanges): Only
generate the style sheet when called for the first time.

LayoutTests:

* media/track/track-user-stylesheet-expected.txt: Added.
* media/track/track-user-stylesheet.html: Added.

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

5 years ago[iOS] Scrubber display is broken if the buffered range is empty
dino@apple.com [Sat, 2 May 2015 00:55:03 +0000 (00:55 +0000)]
[iOS] Scrubber display is broken if the buffered range is empty
https://bugs.webkit.org/show_bug.cgi?id=144511

Reviewed by Eric Carlson.

Make sure that if video.buffered returns an empty list, we
still draw the scrubber background correctly.

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.drawTimelineBackground): Ensure that buffered
is always at least as big as the current time.

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

5 years agoMedia control volume slider should be vertical to avoid flickering issues.
roger_fong@apple.com [Sat, 2 May 2015 00:47:04 +0000 (00:47 +0000)]
Media control volume slider should be vertical to avoid flickering issues.
https://bugs.webkit.org/show_bug.cgi?id=144496.
<rdar://problem/20451328>

Reviewed by Darin Adler.

* Modules/mediacontrols/mediaControlsApple.css:
Resize and reposition the volume box so that it does not have to rotated via a transform.
(audio::-webkit-media-controls-panel):
(audio::-webkit-media-controls-panel .volume-box): Also set overflow: hidden so we can't interact
     with the volume slider while the volume box is hidden.
(audio::-webkit-media-controls-panel .volume-box:active):
Rotate and position the volume slider via transforms. Make sure it's not transformed in the fullscreen controls.
(video::-webkit-media-controls-volume-slider):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):

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

5 years agoExpand test infrastructure to support scrolling tests (Part 4): Scroll Snap Support
bfulgham@apple.com [Sat, 2 May 2015 00:39:37 +0000 (00:39 +0000)]
Expand test infrastructure to support scrolling tests (Part 4): Scroll Snap Support
https://bugs.webkit.org/show_bug.cgi?id=144482

Reviewed by Simon Fraser.

New tests will be landed in a second patch.

The new WheelEventTestTriggers do not work properly with scroll snap points, because some test deferral notifications
need to be triggered for state changes on the scrolling thread. This required the following changes:
1. A flag indicating that we want to know about WheelEvent state changes needed to be propagated to the scrolling thread,
   so that tests could be deferred until Scrolling thread rubberband or scroll-snap animations had completed.
2. The ScrollingNodeID needed to be used for registering and clearing deferrals.
3. The scrolling thread needed a way to dispatch messages to the main thread indicating that we should (or should not)
   defer tests due to scrolling actions.

Note that a future patch will extend this support to include the RemoteScrollingTree.

* page/WheelEventTestTrigger.cpp:
(WebCore::WheelEventTestTrigger::deferTestsForReason): Added some logging features.
(WebCore::WheelEventTestTrigger::removeTestDeferralForReason): Ditto.
(WebCore::dumpState): Helper function for logging test deferral state.
(WebCore::WheelEventTestTrigger::triggerTestTimerFired): Added some logging features.
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): Make sure that the scrolling thread is
told that it needs to send scrolling state back to the main thread. Only do this if we are in testing mode.
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): The scrollingNodeID should be
used as the identifier for this operation, not the page address.
(WebCore::AsyncScrollingCoordinator::deferTestsForReason): Added. receives messages from the scrolling thread
and notifies the testing infrastructure.
(WebCore::AsyncScrollingCoordinator::removeTestDeferralForReason): Ditto.
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): When cloning the ScrollingStateScrollingNode,
include the testing mode state.
(WebCore::ScrollingStateScrollingNode::setExpectsWheelEventTestTrigger): Added.
* page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::expectsWheelEventTestTrigger): Added.
* page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::deferTestsForReason): Added stub.
(WebCore::ScrollingTree::removeTestDeferralForReason): Ditto.
* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::deferTestsForReason): Added. Dispatches messages from the scrolling thread to the
main thread.
(WebCore::ThreadedScrollingTree::removeTestDeferralForReason): Ditto.
* page/scrolling/ThreadedScrollingTree.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::ScrollingTreeFrameScrollingNodeMac): Initialize testing state flag.
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren): If the 'ExpectsWheelEventTestTrigger' flag is
set, update local state.
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent): If we are testing, and the wheel event should be handled
asynchronously, tell the testing infrastructure we need to wait for the thread state to sync.
(WebCore::ScrollingTreeFrameScrollingNodeMac::deferTestsForReason): Added. Notifies test system we need to defer tests
until we notify them. Also used by the ScrollController during animations.
(WebCore::ScrollingTreeFrameScrollingNodeMac::removeTestDeferralForReason): Ditto.
* platform/Logging.h:
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::deferTestsForReason): Added. Used by ScrollController during animation. This updates the
testing infrastructure directly, since it is running in the same process and main thread.
(WebCore::ScrollAnimator::removeTestDeferralForReason): Ditto.
* platform/ScrollAnimator.h:
* platform/cocoa/ScrollController.h:
(WebCore::ScrollControllerClient::deferTestsForReason): Change client API.
(WebCore::ScrollControllerClient::removeTestDeferralForReason): Ditto.
(WebCore::ScrollControllerClient::testTrigger): Deleted.
* platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::startSnapRubberbandTimer): Use new client API.
(WebCore::ScrollController::stopSnapRubberbandTimer): Ditto.
(WebCore::ScrollController::startScrollSnapTimer): Ditto.
(WebCore::ScrollController::stopScrollSnapTimer): Ditto.

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

5 years agocheck-webkit-style fails due to system pylint
commit-queue@webkit.org [Sat, 2 May 2015 00:23:58 +0000 (00:23 +0000)]
check-webkit-style fails due to system pylint
https://bugs.webkit.org/show_bug.cgi?id=144360

Patch by Mario Sanchez Prada <mario@endlessm.com> on 2015-05-01
Reviewed by Darin Adler.

Make sure that the directory containing third party autoinstalled modules
is at the beginning of the search path, to avoid conflicts with other
versions of the same modules installed in the system (e.g. pylint).

* Scripts/webkitpy/thirdparty/__init__.py: Prepend the autoinstalled
modules directory to sys.path, instead of appending it.

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

5 years agoInline some small methods instead of them being EXPORT'd and out of line
commit-queue@webkit.org [Fri, 1 May 2015 23:59:58 +0000 (23:59 +0000)]
Inline some small methods instead of them being EXPORT'd and out of line
https://bugs.webkit.org/show_bug.cgi?id=144498

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-01
Reviewed by Darin Adler.

* page/Page.cpp:
(WebCore::Page::testTrigger): Deleted.
(WebCore::Page::clearTrigger): Deleted.
(WebCore::Page::expectsWheelEventTriggers): Deleted.
* page/Page.h:
(WebCore::Page::testTrigger):
(WebCore::Page::clearTrigger):
(WebCore::Page::expectsWheelEventTriggers):

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

5 years agoUnreviewed, updated my list of email addresses.
mario@webkit.org [Fri, 1 May 2015 23:52:06 +0000 (23:52 +0000)]
Unreviewed, updated my list of email addresses.

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

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

5 years agoSource/WebCore:
mitz@apple.com [Fri, 1 May 2015 23:47:03 +0000 (23:47 +0000)]
Source/WebCore:
WebCore part of <rdar://problem/8636045> Back/forward navigation to an error page in Safari breaks the back-forward list
https://bugs.webkit.org/show_bug.cgi?id=144501

Reviewed by Darin Adler.

Test: TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm

Normally, loading substitute data (such as an error page) creates a new back-forward list
item. FrameLoader has a mechanism that detects when a substitute data load occurs during
handling of a provisional load error and prevents the creation of a new back-forwards list
item in that case if the unreachable URL is the same as the failing provisional URL. This
mechanism was broken in WebKit2, where handling the provisional load error is asynchronous.

The fix is to capture some state (namely, the failing provisional URL) when dispatching the
load error and allow it to be restored when loading the substitute data.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader): Removed initialization of
m_delegateIsHandlingProvisionalLoadError.
(WebCore::FrameLoader::shouldReloadToHandleUnreachableURL): Instead of checking
m_delegateIsHandlingProvisionalLoadError and if true using the provisional document loader’s
URL, check m_provisionalLoadErrorBeingHandledURL.
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Instead of checking and setting
m_delegateIsHandlingProvisionalLoadError, use m_provisionalLoadErrorBeingHandledURL.
* loader/FrameLoader.h:
(WebCore::FrameLoader::provisionalLoadErrorBeingHandledURL): Added this getter. The client
can call this from its override of dispatchDidFailProvisionalLoad and store the result.
(WebCore::FrameLoader::setProvisionalLoadErrorBeingHandledURL): Added this setter. The
client can call this prior to loading substitute data if it’s done as part of handling a
previously-dispatched didFailProvisionalLoad.

Source/WebKit2:
WebKit2 part of <rdar://problem/8636045> Back/forward navigation to an error page in Safari breaks the back-forward list
https://bugs.webkit.org/show_bug.cgi?id=144501

Reviewed by Darin Adler.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadAlternateHTMLString): If this is called during
didFailProvisionalLoadForFrame, send back the provisional URL captured at the time of
failure.
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame): Get the provisioinal URL and keep
it in new member variable m_failingProvisionalLoadURL for the duration of the client’s
handling of this message.
* UIProcess/WebPageProxy.h:

* UIProcess/WebPageProxy.messages.in: Added provisionalURL parameter to
DidFailProvisionalLoadForFrame.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad): Send the URL for this error
to the UI process.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadAlternateHTMLString): Temporarily restore the loader’s state to
reflect the provisional load error being handled.

* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in: Added provisionalLoadErrorURL parameter to
LoadAlternateHTMLString.

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

5 years agoUSE(...) macro should expect unprefixed variables
mrobinson@webkit.org [Fri, 1 May 2015 23:38:18 +0000 (23:38 +0000)]
USE(...) macro should expect unprefixed variables
https://bugs.webkit.org/show_bug.cgi?id=144454

Reviewed by Daniel Bates.

.:

* Source/cmake/OptionsAppleWin.cmake: Replace all occurrences WTF_USE with USE.
* Source/cmake/OptionsEfl.cmake: Ditto.
* Source/cmake/OptionsGTK.cmake: Ditto.
* Source/cmake/OptionsMac.cmake: Ditto.
* Source/cmake/OptionsWinCairo.cmake: Ditto.
* Source/cmake/WebKitFeatures.cmake: No longer expose WTF_USE when encountering
USE variables.

Source/JavaScriptCore:

* CMakeLists.txt: Replace all occurrences WTF_USE with USE.

Source/WebCore:

* DerivedSources.make: Replace all occurrences WTF_USE with USE.
* PlatformEfl.cmake: Ditto.
* PlatformGTK.cmake: Ditto.
* bindings/objc/PublicDOMInterfaces.h: Ditto.
* config.h: Ditto.
* crypto/mac/SerializedCryptoKeyWrapMac.mm: Ditto.
* page/AlternativeTextClient.h: Ditto.
* platform/efl/FileSystemEfl.cpp: Ditto.
(WebCore::fileSystemRepresentation): Ditto.
* platform/graphics/cg/ImageBufferDataCG.h: Ditto.
* platform/graphics/cg/PDFDocumentImage.h: Ditto.
* platform/ios/wak/WAKAppKitStubs.h: Ditto.
* rendering/RenderLayerCompositor.cpp: Ditto.

Source/WebKit/cf:

* WebCoreSupport/WebInspectorClientCF.cpp: Replace all occurrences WTF_USE with USE.

Source/WebKit/mac:

* Misc/WebDownload.h: Replace all occurrences WTF_USE with USE.

Source/WebKit2:

* Shared/API/c/WKBase.h: Replace all occurrences WTF_USE with USE.
* WebKit2.xcodeproj/project.pbxproj: Ditto.

Source/WTF:

* wtf/Assertions.cpp: Replace all occurrences WTF_USE with USE.
* wtf/Platform.h: Replace all occurrences WTF_USE with USE. Modify the USE
macro to look for unprefixed variables.
* wtf/WTFThreadData.h: Replace all occurrences WTF_USE with USE.

Tools:

* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Replace all occurrences WTF_USE with USE.
* DumpRenderTree/config.h: Ditto.
* TestWebKitAPI/config.h: Ditto.

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

5 years ago[OS X] Text dilation parameters are not restored after being set
mmaxfield@apple.com [Fri, 1 May 2015 23:25:41 +0000 (23:25 +0000)]
[OS X] Text dilation parameters are not restored after being set
https://bugs.webkit.org/show_bug.cgi?id=144507
<rdar://problem/19446938>

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-05-01
Reviewed by Simon Fraser and Ned Holbrook.

Source/WebCore:

Create a RAII class who is in charge of saving, applying, and restoring dilation parameters. Use this class
around our text drawing routines.

Note that this migrates our use of CTFontSetRenderingParameters() to CTFontSetRenderingStyle().

Test: fast/text/dilation-save-restore.html

* platform/graphics/cocoa/FontCascadeCocoa.mm:
(WebCore::RenderingStyleSaver::RenderingStyleSaver):
(WebCore::RenderingStyleSaver::~RenderingStyleSaver):
(WebCore::showGlyphsWithAdvances):
* platform/spi/cg/CoreGraphicsSPI.h:
* platform/spi/cocoa/CoreTextSPI.h:

LayoutTests:

See below.

* fast/text/dilation-save-restore-expected.html: Added. Never sets dilation parameters, draws two strings.
* fast/text/dilation-save-restore.html: Added. Draws one string without dilation, sets the dilation, then draws a
second string. If saving and restoring doesn't work correctly, these two lines will appear different.

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

5 years agoFix typo bug in Speedometer/resources/main.js
commit-queue@webkit.org [Fri, 1 May 2015 22:53:09 +0000 (22:53 +0000)]
Fix typo bug in Speedometer/resources/main.js
https://bugs.webkit.org/show_bug.cgi?id=144504

Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-05-01
Reviewed by Ryosuke Niwa.

* Speedometer/resources/main.js: Fix typo.
(window.benchmarkClient.totalTimeInDisplayUnit):

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

5 years agoString#startsWith/endsWith/includes don't handle Infinity position/endPosition args...
commit-queue@webkit.org [Fri, 1 May 2015 22:44:30 +0000 (22:44 +0000)]
String#startsWith/endsWith/includes don't handle Infinity position/endPosition args correctly
https://bugs.webkit.org/show_bug.cgi?id=144314

Patch by Jordan Harband <ljharb@gmail.com> on 2015-05-01
Reviewed by Darin Adler.

Source/JavaScriptCore:

Fixing handling of Infinity position args, per
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.includes
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.startswith
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.endswith

* runtime/StringPrototype.cpp:
(JSC::clampInt32):
(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):
(JSC::stringProtoFuncIncludes):

LayoutTests:

* js/script-tests/string-includes.js:
* js/string-includes-expected.txt:

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

5 years agoUnreviewed, rolling out r183687.
commit-queue@webkit.org [Fri, 1 May 2015 22:38:02 +0000 (22:38 +0000)]
Unreviewed, rolling out r183687.
https://bugs.webkit.org/show_bug.cgi?id=144505

Appears to have caused assertions (Requested by ap on
#webkit).

Reverted changeset:

"Media control volume slider is opaque."
https://bugs.webkit.org/show_bug.cgi?id=144470
http://trac.webkit.org/changeset/183687

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

5 years agoMath.abs() returns negative
basile_clement@apple.com [Fri, 1 May 2015 22:35:36 +0000 (22:35 +0000)]
Math.abs() returns negative
https://bugs.webkit.org/show_bug.cgi?id=137827

Reviewed by Michael Saboff.

Math.abs() on doubles was mistakenly assumed by the DFG AI to be the
identity function.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* tests/stress/math-abs-positive.js: Added, was previously failing.
(foo):

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

5 years agoFunction allocation sinking shouldn't be performed on singleton functions
basile_clement@apple.com [Fri, 1 May 2015 22:33:32 +0000 (22:33 +0000)]
Function allocation sinking shouldn't be performed on singleton functions
https://bugs.webkit.org/show_bug.cgi?id=144166

Reviewed by Geoffrey Garen.

Function allocations usually are free of any other side effects, but
this is not the case for allocations performed while the underlying
FunctionExecutable is still a singleton (as this allogation will fire
watchpoints invalidating code that depends on it being a singleton).
As the object allocation sinking phase assumes object allocation is
free of side-effects, sinking these allocations is not correct.

This also means that when materializing a function allocation on OSR
exit, that function's executable will never be a singleton, and we don't have
to worry about its watchpoint, allowing us to use
JSFunction::createWithInvalidatedRellocationWatchpoint instead of
JSFunction::create.

* dfg/DFGObjectAllocationSinkingPhase.cpp:
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):
* ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):

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

5 years agoStop using deprecated AVKit SPI for enter and exit fullscreen.
commit-queue@webkit.org [Fri, 1 May 2015 21:18:05 +0000 (21:18 +0000)]
Stop using deprecated AVKit SPI for enter and exit fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=144493

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

Replace
    -enterFullScreenWithCompletionHandler:
    -exitFullScreenWithCompletionHandler:
with
    -enterFullScreenAnimated:completionHandler:
    -exitFullScreenAnimated:completionHandler:

* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::enterFullscreenStandard):
(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal):
* platform/spi/cocoa/AVKitSPI.h:

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

5 years agoUnreviewed. Add myself as a commiter in contributors.json.
basile_clement@apple.com [Fri, 1 May 2015 21:07:09 +0000 (21:07 +0000)]
Unreviewed. Add myself as a commiter in contributors.json.

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

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

5 years agoEnable ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX by default on all ports (Windows was missed)
commit-queue@webkit.org [Fri, 1 May 2015 20:54:51 +0000 (20:54 +0000)]
Enable ENABLE_ES6_TEMPLATE_LITERAL_SYNTAX by default on all ports (Windows was missed)
https://bugs.webkit.org/show_bug.cgi?id=144495

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-05-01
Reviewed by Csaba Osztrogonác.

* wtf/FeatureDefines.h:
This covers all ports that haven't defined the flag otherwise.

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

5 years agoMedia control volume slider is opaque.
roger_fong@apple.com [Fri, 1 May 2015 20:11:02 +0000 (20:11 +0000)]
Media control volume slider is opaque.
https://bugs.webkit.org/show_bug.cgi?id=144470.
<rdar://problem/20770350>

Rubberstamped by Simon Fraser.

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-panel):
Don't create a stacking context just for the controls.
Doing so causes the mix-blend-mode on the volume box to fail.

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

5 years agoUnreviewed gardening for GTK+.
mrobinson@webkit.org [Fri, 1 May 2015 19:50:31 +0000 (19:50 +0000)]
Unreviewed gardening for GTK+.

* platform/gtk/TestExpectations: Remove some inaccurate missing results
and unskip a passing test.

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

5 years agoUpdate speedometer patch to provide better UI, fix merge result bug and add "Score...
commit-queue@webkit.org [Fri, 1 May 2015 19:42:35 +0000 (19:42 +0000)]
Update speedometer patch to provide better UI, fix merge result bug and add "Score" metric to speedometer benchmark.
https://bugs.webkit.org/show_bug.cgi?id=144487

Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-05-01
Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.merge): Fix bug.
* Scripts/webkitpy/benchmark_runner/data/patches/Speedometer.patch: Update appearance and add "Score" metric.

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

5 years ago[GTK] accessibility/secure-textfield-title-ui.html is failing
jdiggs@igalia.com [Fri, 1 May 2015 19:39:28 +0000 (19:39 +0000)]
[GTK] accessibility/secure-textfield-title-ui.html is failing
https://bugs.webkit.org/show_bug.cgi?id=98375

Reviewed by Chris Fleizach.

Modify the test to check the childrenCount of the titleUIElement in order
to determine where the element text is exposed. On the Mac, it's exposed
in StaticText children; in ATK, in the element itself. The test was failing
because it assumed the text was in the first child of the element.

* accessibility/secure-textfield-title-ui.html: Modified.
* platform/gtk/TestExpectations: Unskipped the failing test.

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

5 years ago[GTK] REGRESSION(183368): It made editing tests assert
jdiggs@igalia.com [Fri, 1 May 2015 19:37:55 +0000 (19:37 +0000)]
[GTK] REGRESSION(183368): It made editing tests assert
https://bugs.webkit.org/show_bug.cgi?id=144447

Reviewed by Chris Fleizach.

Don't notify platforms of editing actions of type EditActionUnspecified.
If we don't know what the action is, platform accessibility APIs certainly
won't.

Add AXTextEditTypeAttributesChange and AXTextAttributesChanged as catch-alls
for formatting changes. ATK lacks finely-grained signals through which to
specify which text attributes have changed. If other platforms have such
signals, new types can always be added.

Don't post an accessible replacement notification for AXTextEditTypeCut.
The notification is handled by DeleteSelectionCommand. It is possible for
white space to be inserted in preparation for a cut which was triggering
a not-reached assert, but insertion of whitespace in preparation for a
cut does not seem notification-worthy.

Treat AXTextEditTypeDictation the same as other insertion types (insert,
paste, typing) with respect to replacement notifications.

No new tests. The hundreds of editing tests that had been crashing seem sufficient.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::showIntent):
(WebCore::AXObjectCache::textChangeForEditType):
* accessibility/AXObjectCache.h:
* accessibility/AXTextStateChangeIntent.h:
* accessibility/atk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::nodeTextChangePlatformNotification):
* editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::doApply):
(WebCore::AppendNodeCommand::doUnapply):
* editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
* editing/EditCommand.cpp:
(WebCore::EditCommand::applyEditType):
(WebCore::EditCommand::unapplyEditType):
* editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
* editing/ReplaceInsertIntoTextNodeCommand.cpp:
(WebCore::ReplaceInsertIntoTextNodeCommand::notifyAccessibilityForTextChange):

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

5 years agoAdd API to disable meta refreshes.
beidson@apple.com [Fri, 1 May 2015 18:19:58 +0000 (18:19 +0000)]
Add API to disable meta refreshes.
<rdar://problem/20333198> and https://bugs.webkit.org/show_bug.cgi?id=144269

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: loader/meta-refresh-disabled.html

* dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Bail early if Settings have meta refreshes disabled.
* page/Settings.in:

Source/WebKit/mac:

Add a preference to enable/disable meta refreshes, enabled by default.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setMetaRefreshEnabled:]):
(-[WebPreferences metaRefreshEnabled]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Add a preference to enable/disable meta refreshes, enabled by default.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetMetaRefreshEnabled):
(WKPreferencesGetMetaRefreshEnabled):
(WKPreferencesGetIgnoreViewportScalingConstraints): Deleted.
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues): Reset the meta refresh pref between tests.

LayoutTests:

* loader/meta-refresh-disabled-expected.txt: Added.
* loader/meta-refresh-disabled.html: Added.
* loader/resources/notify-done.html: Added.
* platform/win/TestExpectations:

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

5 years agoUnreviewed gardening for WebKitGTK+
mrobinson@webkit.org [Fri, 1 May 2015 17:55:48 +0000 (17:55 +0000)]
Unreviewed gardening for WebKitGTK+

Unskip some passing tests. Add new baselines. Properly organize some
failures in the TestExpectations file.

* platform/gtk/TestExpectations:
* platform/gtk/editing/execCommand/print-expected.png: Added.
* platform/gtk/editing/execCommand/print-expected.txt: Added.
* platform/gtk/fast/attachment/attachment-progress-expected.txt: Added.
* platform/gtk/fast/attachment/attachment-select-on-click-expected.txt: Added.
* platform/gtk/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Added.
* platform/gtk/fast/attachment/attachment-subtitle-expected.txt: Added.
* platform/gtk/fast/attachment/attachment-title-expected.txt: Added.
* platform/gtk/fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position-expected.txt: Added.
* platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.png: Added.
* platform/gtk/fast/css/focus-ring-exists-for-search-field-expected.txt: Added.
* platform/gtk/fast/multicol/scrolling-column-rules-expected.png: Added.
* platform/gtk/fast/multicol/scrolling-column-rules-expected.txt: Added.
* platform/gtk/printing/allowed-page-breaks-expected.txt: Added.
* platform/gtk/printing/compositing-layer-printing-expected.png: Added.
* platform/gtk/printing/compositing-layer-printing-expected.txt:
* platform/gtk/printing/css2.1/page-break-after-000-expected.txt: Added.
* platform/gtk/printing/css2.1/page-break-after-001-expected.txt: Added.
* platform/gtk/printing/css2.1/page-break-after-002-expected.txt: Added.
* platform/gtk/printing/css2.1/page-break-after-003-expected.txt: Added.
* platform/gtk/printing/css2.1/page-break-after-004-expected.txt: Added.
* platform/gtk/printing/css2.1/page-break-before-000-expected.txt: Added.
* platform/gtk/printing/css2.1/page-break-before-001-expected.txt: Added.
* platform/gtk/printing/css2.1/page-break-before-002-expected.txt: Added.
* platform/gtk/printing/css2.1/page-break-inside-000-expected.txt: Added.
* platform/gtk/printing/iframe-print-expected.png: Added.
* platform/gtk/printing/iframe-print-expected.txt: Added.
* platform/gtk/printing/media-queries-print-expected.png: Added.
* platform/gtk/printing/media-queries-print-expected.txt:
* platform/gtk/printing/no-content-empty-pages-expected.txt: Added.
* platform/gtk/printing/numberOfPages-expected.txt: Added.
* platform/gtk/printing/page-break-after-avoid-expected.txt: Added.
* platform/gtk/printing/page-break-always-expected.txt: Added.
* platform/gtk/printing/page-break-avoid-expected.txt: Added.
* platform/gtk/printing/page-break-before-avoid-expected.txt: Added.
* platform/gtk/printing/page-break-display-none-expected.txt: Added.
* platform/gtk/printing/page-break-inside-avoid-expected.txt: Added.
* platform/gtk/printing/page-break-margin-collapsed-expected.txt: Added.
* platform/gtk/printing/page-break-orphans-and-widows-expected.txt: Added.
* platform/gtk/printing/page-break-orphans-expected.txt: Added.
* platform/gtk/printing/page-break-widows-expected.txt: Added.
* platform/gtk/printing/page-count-layout-overflow-expected.txt: Added.
* platform/gtk/printing/page-count-percentage-height-expected.txt: Added.
* platform/gtk/printing/page-count-relayout-shrink-expected.txt: Added.
* platform/gtk/printing/page-count-with-one-word-expected.txt: Added.
* platform/gtk/printing/page-format-data-display-none-expected.txt: Added.
* platform/gtk/printing/page-format-data-expected.txt: Added.
* platform/gtk/printing/page-rule-css-text-expected.txt: Added.
* platform/gtk/printing/page-rule-in-media-query-expected.png: Added.
* platform/gtk/printing/page-rule-in-media-query-expected.txt: Added.
* platform/gtk/printing/pageNumerForElementById-expected.txt: Added.
* platform/gtk/printing/print-close-crash-expected.txt: Added.
* platform/gtk/printing/pseudo-class-outside-page-expected.txt: Added.
* platform/gtk/printing/return-from-printing-mode-expected.png: Added.
* platform/gtk/printing/return-from-printing-mode-expected.txt:
* platform/gtk/printing/setPrinting-expected.png: Added.
* platform/gtk/printing/setPrinting-expected.txt: Added.
* platform/gtk/printing/simultaneous-position-float-change-expected.png: Added.
* platform/gtk/printing/simultaneous-position-float-change-expected.txt: Added.
* platform/gtk/printing/single-line-must-not-be-split-into-two-pages-expected.txt: Added.
* platform/gtk/printing/stretch-to-view-height-expected.txt: Added.
* platform/gtk/printing/width-overflow-expected.png: Added.
* platform/gtk/printing/width-overflow-expected.txt: Added.
* platform/gtk/printing/zoomed-document-expected.txt: Added.

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

5 years ago[Freetype] Properly support synthetic oblique in vertical text
mrobinson@webkit.org [Fri, 1 May 2015 17:50:49 +0000 (17:50 +0000)]
[Freetype] Properly support synthetic oblique in vertical text
https://bugs.webkit.org/show_bug.cgi?id=144492

Reviewed by Sergio Villar Senin.

Source/WebCore:

No new tests. Covered by existing tests.

* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::initializeWithFontFace): Skew vertical when using synthetic
oblique for vertical text.

LayoutTests:

* platform/gtk/TestExpectations: Unskip passing tests.
* platform/gtk/fast/text/international/synthesized-italic-vertical-latin-expected.png: Added.
* platform/gtk/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Added.

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

5 years agoAX: [ATK] REGRESSION: accessibility/canvas-fallback-content.html now crashes
jdiggs@igalia.com [Fri, 1 May 2015 17:05:51 +0000 (17:05 +0000)]
AX: [ATK] REGRESSION: accessibility/canvas-fallback-content.html now crashes
https://bugs.webkit.org/show_bug.cgi?id=144481

Reviewed by Chris Fleizach.

Canvas fallback content is allowed to be focusable if the canvas is displayed
and visible. Update the style when creating an accessible object for a node in
a canvas subtree and before Element::isFocusable() gets called.

No new tests. The existing, crashing test no longer crashes.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::getOrCreate):

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

5 years ago[Content Extensions] Add CombinedURLFilters debugging code.
achristensen@apple.com [Fri, 1 May 2015 17:03:45 +0000 (17:03 +0000)]
[Content Extensions] Add CombinedURLFilters debugging code.
https://bugs.webkit.org/show_bug.cgi?id=144491

Reviewed by Daniel Bates.

No change in behavior.

* contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::recursiveMemoryUsed):
(WebCore::ContentExtensions::CombinedURLFilters::memoryUsed):
(WebCore::ContentExtensions::prefixTreeVertexToString):
(WebCore::ContentExtensions::recursivePrint):
(WebCore::ContentExtensions::CombinedURLFilters::print):
(WebCore::ContentExtensions::CombinedURLFilters::addPattern):
(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
* contentextensions/CombinedURLFilters.h:
* contentextensions/NFA.cpp:
(WebCore::ContentExtensions::NFA::memoryUsed):
* contentextensions/NFA.h:
* contentextensions/Term.h:
(WebCore::ContentExtensions::quantifierToString):
(WebCore::ContentExtensions::Term::toString):

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

5 years agoFix text track language selection logic
eric.carlson@apple.com [Fri, 1 May 2015 16:57:38 +0000 (16:57 +0000)]
Fix text track language selection logic
https://bugs.webkit.org/show_bug.cgi?id=144467

Reviewed by Brent Fulgham.

Source/WebCore:

No new tests, media/track/track-language-preference.html was updated.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::configureTextTrackGroup): Correct a minor style typo.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Update logging.

* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::textTrackSelectionScore): Minor cleanup.
(WebCore::CaptionUserPreferences::textTrackLanguageSelectionScore): Give exact matches a
higher score.

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Update for
indexOfBestMatchingLanguageInList change.

* platform/Language.cpp:
(WebCore::indexOfBestMatchingLanguageInList): Add parameter for exact match. Convert the
passed language to lower case as we do with the preferred languages.
* platform/Language.h:

LayoutTests:

* media/track/track-language-preference-expected.txt:
* media/track/track-language-preference.html: Updated, add new tests.
* platform/mac/TestExpectations:

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

5 years agoProvide a runtime flag to run-webkit-tests that shows the test view
bfulgham@apple.com [Fri, 1 May 2015 16:23:07 +0000 (16:23 +0000)]
Provide a runtime flag to run-webkit-tests that shows the test view
https://bugs.webkit.org/show_bug.cgi?id=144079.

Unreviewed correction to r183651.

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize): Make sure the state of the '--show-webview'
flag is included in the options dictionary passed to the PlatformWebView.

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

5 years agoUnreviewed gardening. Rebaseline some tests for WebKitGTK+.
mrobinson@webkit.org [Fri, 1 May 2015 16:04:05 +0000 (16:04 +0000)]
Unreviewed gardening. Rebaseline some tests for WebKitGTK+.

* platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt: Rebaseline.
* platform/gtk/inspector-protocol/debugger/regress-133182-expected.txt: Removed. The
platform-independent baseline should be good enough.

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

5 years ago[Freetype] Add support for the font-synthesis property
mrobinson@webkit.org [Fri, 1 May 2015 16:00:13 +0000 (16:00 +0000)]
[Freetype] Add support for the font-synthesis property
https://bugs.webkit.org/show_bug.cgi?id=144472

Reviewed by Sergio Villar Senin.

No new tests. This causes fast/css3-text/font-synthesis.html to pass
for WebKitGTK+.

* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData): Only use synthetic bold when the font description allows it.
(WebCore::FontPlatformData::initializeWithFontFace): Ditto for synthetic oblique.

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

5 years ago[GTK] New CORS tests from r183280 fail on WebKitGTK+
mrobinson@webkit.org [Fri, 1 May 2015 14:58:19 +0000 (14:58 +0000)]
[GTK] New CORS tests from r183280 fail on WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=144469

Reviewed by Sergio Villar Senin.

No new tests. This causes failing tests to pass.

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect): Clear the origin header on cross-origin redirects.

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

5 years agoWeb Inspector: Remove FrameContentView.js
timothy@apple.com [Fri, 1 May 2015 14:24:17 +0000 (14:24 +0000)]
Web Inspector: Remove FrameContentView.js
https://bugs.webkit.org/show_bug.cgi?id=144415

Reviewed by Joseph Pecoraro.

* UserInterface/Images/DOMTree.svg: Removed.
* UserInterface/Images/SourceCode.svg: Removed.
* UserInterface/Main.html: Removed FrameContentView.js.
* UserInterface/Views/FrameContentView.js: Removed.
* UserInterface/Views/PathComponentIcons.css:
(.source-code-icon .icon): Deleted.
(.dom-tree-icon .icon): Deleted.

* UserInterface/Views/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
Simplify the code here. We don't need these checks now with tabs and the Storage tab.

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

5 years agoRemove network process load serialization code
antti@apple.com [Fri, 1 May 2015 11:40:11 +0000 (11:40 +0000)]
Remove network process load serialization code
https://bugs.webkit.org/show_bug.cgi?id=144448

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

TestRunner.setSerializeHTTPLoads is used by a few tests but it is unnecessary
with network process. We don't reorder loads anyway so test results are consistent.
There or no other clients for this code.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::NetworkConnectionToWebProcess):
(WebKit::NetworkConnectionToWebProcess::setSerialLoadingEnabled): Deleted.
* NetworkProcess/NetworkConnectionToWebProcess.h:
(WebKit::NetworkConnectionToWebProcess::isSerialLoadingEnabled): Deleted.
* NetworkProcess/NetworkConnectionToWebProcess.messages.in:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::getNetworkProcessStatistics):
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::loadsPendingCount): Deleted.
* NetworkProcess/NetworkResourceLoadScheduler.h:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetTabKeyCyclesThroughElements):
(WKBundleSetSerialLoadingEnabled): Deleted.
(WKBundleDispatchPendingLoadRequests): Deleted.
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setSerialLoadingEnabled): Deleted.
(WebKit::InjectedBundle::dispatchPendingLoadRequests): Deleted.

    Remove also this as it does nothing.

* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::WebResourceLoadScheduler):
(WebKit::WebResourceLoadScheduler::suspendPendingRequests):
(WebKit::WebResourceLoadScheduler::resumePendingRequests):

    Remove implementation, it does nothing.

(WebKit::WebResourceLoadScheduler::setSerialLoadingEnabled):
* WebProcess/Network/WebResourceLoadScheduler.h:

Tools:

* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setSerializeHTTPLoads):
(WTR::TestRunner::dispatchPendingLoadRequests):

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

5 years ago[GTK] Add libhyphen-dev to the build dependencies
calvaris@igalia.com [Fri, 1 May 2015 09:04:12 +0000 (09:04 +0000)]
[GTK] Add libhyphen-dev to the build dependencies
https://bugs.webkit.org/show_bug.cgi?id=144452

Reviewed by Martin Robinson.

* gtk/install-dependencies: Added hyphen as Fedora and Arch
dependencies.

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

5 years agoREGRESSION: Web Inspector: Console message repeat count overlapped by icon
nvasilyev@apple.com [Fri, 1 May 2015 05:57:26 +0000 (05:57 +0000)]
REGRESSION: Web Inspector: Console message repeat count overlapped by icon
https://bugs.webkit.org/show_bug.cgi?id=144344

Reviewed by Timothy Hatcher.

* UserInterface/Views/ConsoleMessageView.css:
(.console-message .repeat-count):

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

5 years agoCompile fix when using content extensions debugging code.
achristensen@apple.com [Fri, 1 May 2015 05:01:17 +0000 (05:01 +0000)]
Compile fix when using content extensions debugging code.

* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
* contentextensions/ContentExtensionsDebugging.h:
* contentextensions/DFA.cpp:
(WebCore::ContentExtensions::printTransitions):
(WebCore::ContentExtensions::DFA::debugPrintDot):
* contentextensions/DFANode.h:
* contentextensions/NFA.cpp:
(WebCore::ContentExtensions::NFA::memoryUsed):
(WebCore::ContentExtensions::NFA::debugPrintDot):

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

5 years agoFixed the build for <rdar://problem/20758514>
mitz@apple.com [Fri, 1 May 2015 04:24:40 +0000 (04:24 +0000)]
Fixed the build for <rdar://problem/20758514>

* platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
(WebCore::AudioSourceProviderAVFObjC::destroyMix): Don’t pass nil to
-[AVMutableAudioMix setInputParameters:].

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

5 years agoUnreviewed gardening. Update results of inspector tests.
joepeck@webkit.org [Fri, 1 May 2015 03:42:31 +0000 (03:42 +0000)]
Unreviewed gardening. Update results of inspector tests.

* inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt:
* inspector-protocol/debugger/regress-133182-expected.txt:
* inspector-protocol/debugger/regress-133182.html:
* inspector-protocol/debugger/setBreakpoint-actions-expected.txt:
* inspector-protocol/debugger/terminate-dedicated-worker-while-paused-expected.txt:
* inspector-protocol/page/deny-X-FrameOption-expected.txt:
* inspector/debugger/search-scripts-expected.txt:

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

5 years agoUnreviewed gardening. Remove skipped and broken inspector test.
joepeck@webkit.org [Fri, 1 May 2015 03:42:28 +0000 (03:42 +0000)]
Unreviewed gardening. Remove skipped and broken inspector test.

This is the last test relying on the old model interface.

* TestExpectations:
* http/tests/inspector-protocol/resources/InspectorTest.js:
(InspectorTest.initializeInspectorModels.console.error.window.onerror): Deleted.
(InspectorTest.initializeInspectorModels.console.assert): Deleted.
(InspectorTest.initializeInspectorModels): Deleted.
* inspector-protocol/indexeddb/basics-expected.txt: Removed.
* inspector-protocol/indexeddb/basics.html: Removed.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/win/TestExpectations:

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

5 years agoClean up: Remove unnecessary runtime computation of string length
dbates@webkit.org [Fri, 1 May 2015 02:40:34 +0000 (02:40 +0000)]
Clean up: Remove unnecessary runtime computation of string length
https://bugs.webkit.org/show_bug.cgi?id=144483

Reviewed by Joseph Pecoraro.

Following <http://trac.webkit.org/changeset/183649>, WebCore::fullyQualifiedInfoTableName()
computes strlen() of the first string literal as part of concatenating two string literals.
It is sufficient to use sizeof() - 1 instead of strlen() to compute the length of the first
string literal because the size of the string literal is known at compile time.

* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::fullyQualifiedInfoTableName):

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

5 years agoExpose -apple-system as a font family
dino@apple.com [Fri, 1 May 2015 01:56:32 +0000 (01:56 +0000)]
Expose -apple-system as a font family
https://bugs.webkit.org/show_bug.cgi?id=144484
<rdar://problem/20767330>

Reviewed by Tim Horton.

Source/WebCore:

Accept "-apple-system" for the font-family property, and
rename "-apple-system-font-monospaced-numbers" to
"-apple-system-monospaced-numbers".

Also change the media controls to use the new name.

Covered by existing tests and this new one:
    fast/text/system-font-legacy-name.html

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-time-remaining-display):
* Modules/mediacontrols/mediaControlsiOS.css:
(::-webkit-media-controls):
(audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-status-display):
* platform/graphics/ios/FontCacheIOS.mm: Add support for the new name.
(WebCore::createCTFontWithFamilyNameAndWeight):
* platform/graphics/mac/FontCacheMac.mm: Ditto.
(WebCore::fontWithFamily):

LayoutTests:

Change a bunch of tests to use "-apple-system" instead
of "-apple-system-font" for font-family.

Add a test to make sure the old name still works.

* fast/text/system-font-legacy-name.html
* platform/ios-simulator/fast/text/system-monospaced-numbers.html:
* platform/ios-simulator/ios/fast/text/apple-logo-expected.txt:
* platform/ios-simulator/ios/fast/text/apple-logo.html:
* platform/ios-simulator/ios/fast/text/opticalFont-expected.txt:
* platform/ios-simulator/ios/fast/text/opticalFont.html:
* platform/ios-simulator/ios/fast/text/opticalFontWithWeight-expected.txt:
* platform/ios-simulator/ios/fast/text/opticalFontWithWeight.html:
* platform/ios-simulator/ios/fast/text/underline-scaling-expected.txt:
* platform/ios-simulator/ios/fast/text/underline-scaling.html:
* platform/mac/fast/text/systemFont-expected.txt:
* platform/mac/fast/text/systemFont.html:

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

5 years agoDecrease minimum Vector size.
commit-queue@webkit.org [Fri, 1 May 2015 01:38:27 +0000 (01:38 +0000)]
Decrease minimum Vector size.
https://bugs.webkit.org/show_bug.cgi?id=144453

Patch by Alex Christensen <achristensen@webkit.org> on 2015-04-30
Reviewed by Andreas Kling.

* wtf/Vector.h:
Make the default min size 4 to save memory on small Vectors.

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

5 years ago[CSS Grid Layout] overflow-position keyword for align and justify properties.
jfernandez@igalia.com [Fri, 1 May 2015 01:14:20 +0000 (01:14 +0000)]
[CSS Grid Layout] overflow-position keyword for align and justify properties.
https://bugs.webkit.org/show_bug.cgi?id=144235

Reviewed by Sergio Villar Senin.

Source/WebCore:

When the alignment subject is larger than the alignment container,
it will overflow. Some alignment modes, if honored in this
situation, may cause data loss; an overflow alignment mode can be
explicitly specified to avoid this.

This patch implements overflow-keyword handling for Grid Layout on
align-self and justify-self properties.

Test: fast/css-grid-layout/grid-align-justify-overflow.html

* rendering/RenderGrid.cpp:
(WebCore::computeOverflowAlignmentOffset):
(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::columnPositionForChild):
(WebCore::RenderGrid::rowAxisPositionForChild): Deleted.
* rendering/style/RenderStyle.cpp:
(WebCore::resolveAlignmentData):
(WebCore::resolveJustificationData):
(WebCore::RenderStyle::resolveAlignment):
(WebCore::RenderStyle::resolveAlignmentOverflow):
(WebCore::RenderStyle::resolveJustification):
(WebCore::RenderStyle::resolveJustificationOverflow):
* rendering/style/RenderStyle.h:

LayoutTests:

Implementation of overflow-keyword handling for Grid Layout on
align-self and justify-self properties.

* fast/css-grid-layout/grid-align-justify-overflow-expected.txt: Added.
* fast/css-grid-layout/grid-align-justify-overflow.html: Added.

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

5 years agoWeb Inspector: console should show an icon for console.info() messages
jond@apple.com [Fri, 1 May 2015 01:10:43 +0000 (01:10 +0000)]
Web Inspector: console should show an icon for console.info() messages
https://bugs.webkit.org/show_bug.cgi?id=18530

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/ConsoleMessage.cpp:
(Inspector::messageLevelValue):
* inspector/protocol/Console.json:
* runtime/ConsoleClient.cpp:
(JSC::appendMessagePrefix):
* runtime/ConsolePrototype.cpp:
(JSC::ConsolePrototype::finishCreation):
(JSC::consoleProtoFuncInfo):
* runtime/ConsoleTypes.h:

Source/WebInspectorUI:

Added icons for console.log, console.info and console.debug messages.

Separated console.info from console.log.

* UserInterface/Images/Debug.svg: Added.
* UserInterface/Images/Info.svg: Added.
* UserInterface/Images/Log.svg: Added.
New icon files.

* UserInterface/Models/ConsoleMessage.js:
* UserInterface/Views/ConsoleMessageView.css:
(.console-log-level::before):
(.console-info-level::before):
(.console-debug-level::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level, .console-info-level, .console-debug-level).console-message):
(:matches(.console-warning-level, .console-error-level, .console-log-level, .console-info-level, .console-debug-level)::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level).console-message): Deleted.
(:matches(.console-warning-level, .console-error-level, .console-log-level)::before): Deleted.
Include console.info messages in layout adjustments.

* UserInterface/Views/ConsoleMessageView.js:
(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype._levelString):

Source/WebKit/mac:

* WebCoreSupport/WebChromeClient.mm:
(stringForMessageLevel):
* WebView/WebUIDelegatePrivate.h:

LayoutTests:

* inspector/console/console-api-expected.txt:

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

5 years agoRemove long-deprecated unused WKView minimumLayoutWidth properties
timothy_horton@apple.com [Fri, 1 May 2015 01:04:52 +0000 (01:04 +0000)]
Remove long-deprecated unused WKView minimumLayoutWidth properties
https://bugs.webkit.org/show_bug.cgi?id=144480

Reviewed by Alexey Proskuryakov.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView minimumLayoutWidth]): Deleted.
(-[WKView setMinimumLayoutWidth:]): Deleted.
(-[WKView minimumWidthForAutoLayout]): Deleted.
(-[WKView setMinimumWidthForAutoLayout:]): Deleted.
These were replaced with minimumSizeForAutoLayout long ago.

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

5 years agoRebaseline bindings tests results after r183648.
jhoneycutt@apple.com [Fri, 1 May 2015 00:34:24 +0000 (00:34 +0000)]
Rebaseline bindings tests results after r183648.

Unreviewed.

* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors4):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::constructJSTestTypedefs):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):

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

5 years agoMove all of the branchIs<type> helpers from SpeculativeJIT into AssemblyHelpers
fpizlo@apple.com [Fri, 1 May 2015 00:06:48 +0000 (00:06 +0000)]
Move all of the branchIs<type> helpers from SpeculativeJIT into AssemblyHelpers
https://bugs.webkit.org/show_bug.cgi?id=144462

Reviewed by Geoffrey Garen and Mark Lam.

At some point we started adding representation-agnostic helpers for doing common type tests.
We added some in SpeculativeJIT, and then some in AssemblyHelpers. Prior to this change,
they had overlapping powers, though SpeculativeJIT was a bit better.

This removes SpeculativeJIT's helpers and strengthens AssemblyHelpers' helpers. This is
better because now all of these helpers can be used in all of the assembly-based JITs, not
just the DFG. It also settles on what I find to be a slightly better naming convention.
For example where we previously would have said branchIsString, now we say
branchIfString. Similarly, branchNotString becomes branchIfNotString.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileStringToUntypedEquality):
(JSC::DFG::SpeculativeJIT::compileStringIdentToNotStringVarEquality):
(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):
(JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOnCell):
(JSC::DFG::SpeculativeJIT::speculateObject):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateNotStringVar):
(JSC::DFG::SpeculativeJIT::speculateNotCell):
(JSC::DFG::SpeculativeJIT::speculateOther):
(JSC::DFG::SpeculativeJIT::emitSwitchChar):
(JSC::DFG::SpeculativeJIT::emitSwitchString):
(JSC::DFG::SpeculativeJIT::branchIsObject): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotObject): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsString): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotString): Deleted.
* dfg/DFGSpeculativeJIT.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::branchIsCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsOther): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotOther): Deleted.
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::writeBarrier):
(JSC::DFG::SpeculativeJIT::branchIsCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotCell): Deleted.
(JSC::DFG::SpeculativeJIT::branchIsOther): Deleted.
(JSC::DFG::SpeculativeJIT::branchNotOther): Deleted.
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfCell):
(JSC::AssemblyHelpers::branchIfOther):
(JSC::AssemblyHelpers::branchIfNotOther):
(JSC::AssemblyHelpers::branchIfObject):
(JSC::AssemblyHelpers::branchIfNotObject):
(JSC::AssemblyHelpers::branchIfType):
(JSC::AssemblyHelpers::branchIfNotType):
(JSC::AssemblyHelpers::branchIfString):
(JSC::AssemblyHelpers::branchIfNotString):
(JSC::AssemblyHelpers::branchIfSymbol):
(JSC::AssemblyHelpers::branchIfNotSymbol):
(JSC::AssemblyHelpers::branchIfFunction):
(JSC::AssemblyHelpers::branchIfNotFunction):
(JSC::AssemblyHelpers::branchIfEmpty):
(JSC::AssemblyHelpers::branchIsEmpty): Deleted.
(JSC::AssemblyHelpers::branchIfCellNotObject): Deleted.
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitScopedArgumentsGetByVal):

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

5 years agoFixed elements end up in the middle of the view with pageScale < 1
simon.fraser@apple.com [Thu, 30 Apr 2015 23:44:49 +0000 (23:44 +0000)]
Fixed elements end up in the middle of the view with pageScale < 1
https://bugs.webkit.org/show_bug.cgi?id=144428
rdar://problem/20404982

Reviewed by Tim Horton.

Source/WebCore:

When pageScale is < 1, we used fixed layout mode, and FrameView::fixedElementsLayoutRelativeToFrame()
returns true. However, the scrolling thread was calling the static scrollOffsetForFixedPosition()
hardcoding 'false' for this parameter.

Fix by sending the value of fixedElementsLayoutRelativeToFrame over to the scrolling thread,
so we can use it when doing scrolling-thread fixed position stuff.

Not testable.

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::setFixedElementsLayoutRelativeToFrame):
* page/scrolling/ScrollingStateFrameScrollingNode.h:
* page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::ScrollingTreeFrameScrollingNode):
(WebCore::ScrollingTreeFrameScrollingNode::updateBeforeChildren):
* page/scrolling/ScrollingTreeFrameScrollingNode.h:
(WebCore::ScrollingTreeFrameScrollingNode::fixedElementsLayoutRelativeToFrame):
(WebCore::ScrollingTreeFrameScrollingNode::shouldUpdateScrollLayerPositionSynchronously): Deleted.
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):

Source/WebKit2:

Encode/decode fixedElementsLayoutRelativeToFrame.

* Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):

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

5 years agoRemove invalid assertion from MouseEvent::create()
bdakin@apple.com [Thu, 30 Apr 2015 23:35:26 +0000 (23:35 +0000)]
Remove invalid assertion from MouseEvent::create()
https://bugs.webkit.org/show_bug.cgi?id=144477

Reviewed by Tim Horton.

mouseforcechanged events and mouseforcewillbegin trigger this assertion. The
assertion does not seem valuable, so rather than changing it, just remove it.
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):

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

5 years ago-apple-system-font-monospaced-numbers doesn't work on iOS
dino@apple.com [Thu, 30 Apr 2015 23:26:11 +0000 (23:26 +0000)]
-apple-system-font-monospaced-numbers doesn't work on iOS
https://bugs.webkit.org/show_bug.cgi?id=144478
<rdar://problem/20544940>

Reviewed by Brent Fulgham.

Source/WebCore:

Make sure to start from the system font descriptor when
asking for a monospaced numeric alternate.

Test: platform/ios-simulator/fast/text/system-monospaced-numbers.html

* platform/graphics/ios/FontCacheIOS.mm:
(WebCore::createCTFontWithFamilyNameAndWeight):

LayoutTests:

A test that draws two lines of different numbers and checks
they are the same width.

* platform/ios-simulator/fast/text/system-monospaced-numbers-expected.txt: Added.
* platform/ios-simulator/fast/text/system-monospaced-numbers.html: Added.

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

5 years agoUnreviewed, ios-simulator gardening
joepeck@webkit.org [Thu, 30 Apr 2015 23:16:22 +0000 (23:16 +0000)]
Unreviewed, ios-simulator gardening

* Address linter warnings.
* Unskip some tests that pass.
* More generically skip unsupported iOS features.
* Address FIXMEs.

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

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

5 years agoProvide a runtime flag to run-webkit-tests that shows the test view
bfulgham@apple.com [Thu, 30 Apr 2015 23:13:52 +0000 (23:13 +0000)]
Provide a runtime flag to run-webkit-tests that shows the test view
https://bugs.webkit.org/show_bug.cgi?id=144079.

Reviewed by Dean Jackson.

Add a new flag (--show-webview) that causes DumpRenderTree and WebKitTestRunner to display
their WebViews on-screen. This can be used when running tests via the "--additional-drt-flag"
option:

--additional-drt-flag="--show-webview"

* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow): Use an on-screen window rect if the user passed the
'--show-webview' flag.
(initializeGlobalsFromCommandLineOptions): Recognize the "--show-webview" option.
* WebKitTestRunner/Options.cpp:
(WTR::Options::Options):
(WTR::handleOptionShowWebView):
(WTR::OptionsHandler::OptionsHandler): Recognize the new "--show-webview" option.
* WebKitTestRunner/Options.h:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::TestController::initialize): Use value of 'shouldShowWebView' from the Options bundle.
* WebKitTestRunner/TestController.h:
(WTR::TestController::shouldShowWebView):
* WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::PlatformWebView): Retrieve the value of the 'ShouldShowWebView' key from the
options dictionary. If it is true, display the web view while running the test.

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

5 years agojs/regress/is-string-fold-tricky.html and js/regress/is-string-fold.html are crashing
fpizlo@apple.com [Thu, 30 Apr 2015 23:02:33 +0000 (23:02 +0000)]
js/regress/is-string-fold-tricky.html and js/regress/is-string-fold.html are crashing
https://bugs.webkit.org/show_bug.cgi?id=144463

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Fixup phase was super cleverly folding an IsString(@x) when @x is predicted SpecString
into a Check(String:@x) followed by JSConstant(true). Then in these tests the
ValueAdd(IsString(@x), @stuff) would try to turn this into an integer add by cleverly
converting the boolean into an integer. But as part of doing that, it would try to
short-circuit any profiling by leveraging the fact that the IsString is now a constant,
and it would try to figure out if the addition might overflow. Part of that logic
involved checking if the immediate is either a boolean or a sufficiently small integer.
But: it would check if it's a sufficiently small integer before checking if it was a
boolean, so it would try to call asNumber() on the boolean.

All of this cleverness was very deliberate, but apparently the @stuff + booleanConstant
case was previously never hit until I wrote these tests, and so we never knew that
calling asNumber() on a boolean was wrong.

The fix is super simple: the expression should just check for boolean first.

This bug was benign in release builds. JSValue::asNumber() on a boolean would return
garbage, and that's OK, since we'd take the boolean case anyway.

* dfg/DFGGraph.h:
(JSC::DFG::Graph::addImmediateShouldSpeculateInt32):

LayoutTests:

Unskip now that the bug is fixed.

* TestExpectations:
* js/regress/script-tests/is-string-fold-tricky.js:
* js/regress/script-tests/is-string-fold.js:

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

5 years agoBuild fix after r183646 for less enlightened platforms.
beidson@apple.com [Thu, 30 Apr 2015 22:57:28 +0000 (22:57 +0000)]
Build fix after r183646 for less enlightened platforms.

Unreviewed.

* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::fullyQualifiedInfoTableName): Windows doesn’t have stpcpy :(

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

5 years agoDOM bindings should not be using a reference type to point to a temporary object
oliver@apple.com [Thu, 30 Apr 2015 22:40:30 +0000 (22:40 +0000)]
DOM bindings should not be using a reference type to point to a temporary object
https://bugs.webkit.org/show_bug.cgi?id=144474

Reviewed by Beth Dakin.

The DOM bindings will currently try and use a local reference to point
to a temporary object. This currently works as a by product of the compiler's
stack layout. This patch removes the dependency on undefined behaviour
by ensuring that we use a value rather than reference type.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(GetNativeTypeForCallbacks):

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

5 years agoAsynchronous (or timed-out synchronous) resize flashes white instead of page backgrou...
timothy_horton@apple.com [Thu, 30 Apr 2015 22:16:42 +0000 (22:16 +0000)]
Asynchronous (or timed-out synchronous) resize flashes white instead of page background color
https://bugs.webkit.org/show_bug.cgi?id=144468

Reviewed by Simon Fraser and Dan Bernstein.

* UIProcess/API/mac/WKView.mm:
(-[WKView _viewBackgroundColor]):
(-[WKView updateLayer]):
Use the pageExtendedBackgroundColor for the background color of the WKView,
if we have one (and aren't using a transparent background). This means
during asynchronous resize or other cases where the Web process isn't keeping
up with the UI process during a resize, we'll see background color instead of white.

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

5 years agoJavascript using WebSQL can create their own WebKit info table.
beidson@apple.com [Thu, 30 Apr 2015 22:15:29 +0000 (22:15 +0000)]
Javascript using WebSQL can create their own WebKit info table.
<rdar://problem/20688792> and https://bugs.webkit.org/show_bug.cgi?id=144466

Reviewed by Alex Christensen.

Source/WebCore:

Test: storage/websql/alter-to-info-table.html

* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::databaseInfoTableName): Return the info table name.
(WebCore::fullyQualifiedInfoTableName): Append "main." to the info table name.
(WebCore::DatabaseBackendBase::DatabaseBackendBase): Use the fully qualified name.
(WebCore::DatabaseBackendBase::performOpenAndVerify): Ditto.
(WebCore::DatabaseBackendBase::getVersionFromDatabase): Ditto.
(WebCore::DatabaseBackendBase::setVersionInDatabase): Ditto.

LayoutTests:

* storage/websql/alter-to-info-table-expected.txt: Added.
* storage/websql/alter-to-info-table.html: Added.
* storage/websql/alter-to-info-table.js: Added.

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

5 years agoShould choose UIScrollView indicatorStyle based on the document background color
bdakin@apple.com [Thu, 30 Apr 2015 22:00:47 +0000 (22:00 +0000)]
Should choose UIScrollView indicatorStyle based on the document background color
https://bugs.webkit.org/show_bug.cgi?id=144473
-and corresponding-
rdar://problem/19897699

Reviewed by Simon Fraser.

Source/WebCore:

Export this function.
* platform/graphics/Color.h:

Source/WebKit2:

Update the indicator style whenever the background color changes.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateScrollViewBackground]):

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

5 years agoUnskip isolated words tests on WebKitGTK+
mrobinson@webkit.org [Thu, 30 Apr 2015 21:26:49 +0000 (21:26 +0000)]
Unskip isolated words tests on WebKitGTK+

* platform/gtk/TestExpectations: Unskip tests. We've been able to run these
since the switch to WebKitTestRunner.

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

5 years agoUnreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string...
fpizlo@apple.com [Thu, 30 Apr 2015 20:55:00 +0000 (20:55 +0000)]
Unreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string-fold-tricky.html because they are crashing in RJST as well.

* js/regress/script-tests/is-string-fold-tricky.js:
* js/regress/script-tests/is-string-fold.js:

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

5 years agoWeb Inspector: Scope Chain sidebar should be selected immediately when paused
timothy@apple.com [Thu, 30 Apr 2015 20:03:57 +0000 (20:03 +0000)]
Web Inspector: Scope Chain sidebar should be selected immediately when paused
https://bugs.webkit.org/show_bug.cgi?id=144352

Reviewed by Joseph Pecoraro.

* UserInterface/Base/Main.js:
(WebInspector.showDebuggerTab): Added showScopeChainDetailsSidebarPanel argument.
(WebInspector._debuggerDidPause): Pass true for showScopeChainDetailsSidebarPanel.
* UserInterface/Views/ContentBrowserTabContentView.js:
(WebInspector.ContentBrowserTabContentView): Wire the event to showDetailsSidebarPanels instead of
_contentBrowserRepresentedObjectsDidChange, allowing subclasses to do work during the event.
(WebInspector.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels): Moved content of
_contentBrowserRepresentedObjectsDidChange here.
(WebInspector.ContentBrowserTabContentView.prototype._contentBrowserRepresentedObjectsDidChange): Deleted.
* UserInterface/Views/DebuggerTabContentView.js:
(WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels): Added. Show the scope sidebar panel
if it is available and it was requested by showScopeChainDetailsSidebarPanel().
(WebInspector.DebuggerTabContentView.prototype.showScopeChainDetailsSidebarPanel): Added.

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

5 years agor183355 didn't trigger Mac tests
ap@apple.com [Thu, 30 Apr 2015 20:01:18 +0000 (20:01 +0000)]
r183355 didn't trigger Mac tests
https://bugs.webkit.org/show_bug.cgi?id=144464

Reviewed by Simon Fraser.

Update badly neglected filters and unit tests.

* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):

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

5 years agoRebaseline some editing tests for WebKitGTK+
mrobinson@webkit.org [Thu, 30 Apr 2015 19:51:56 +0000 (19:51 +0000)]
Rebaseline some editing tests for WebKitGTK+

Also add some missing baselines.

* fast/hidpi/broken-image-icon-very-hidpi-expected.png: Added.
* fast/hidpi/broken-image-icon-very-hidpi-expected.txt: Added.
* platform/gtk/editing/execCommand/5142012-1-expected.png:
* platform/gtk/editing/execCommand/5142012-1-expected.txt:
* platform/gtk/editing/inserting/insert-at-end-02-expected.txt:
* platform/gtk/editing/pasteboard/4989774-expected.txt:

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

5 years ago[Win] Allow WebKit to build without ANGLE support
bfulgham@apple.com [Thu, 30 Apr 2015 19:04:36 +0000 (19:04 +0000)]
[Win] Allow WebKit to build without ANGLE support
https://bugs.webkit.org/show_bug.cgi?id=144459
<rdar://problem/20707307>

Reviewed by Dean Jackson.

* platform/graphics/GLContext.cpp: Use the ENABLE(GRAPHICS_CONTEXT_3D)
macro to avoid compiling this code if not using WEBGL/3D contexts.

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

5 years agoUnreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string...
fpizlo@apple.com [Thu, 30 Apr 2015 18:54:02 +0000 (18:54 +0000)]
Unreviewed, skip new tests js/regress/is-string-fold.html and js/regress/is-string-fold-tricky.html because they are crashing.

* TestExpectations:

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

5 years agoAdd image failure expectation for
jhoneycutt@apple.com [Thu, 30 Apr 2015 18:50:11 +0000 (18:50 +0000)]
Add image failure expectation for
svg/filters/sourceAlpha-input-filter-effect.html on Windows

Unreviewed.

* platform/win/TestExpectations:

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

5 years agoAvoid containingBlock() calls when no writing mode flipping is needed.
hyatt@apple.com [Thu, 30 Apr 2015 18:36:56 +0000 (18:36 +0000)]
Avoid containingBlock() calls when no writing mode flipping is needed.
https://bugs.webkit.org/show_bug.cgi?id=144407

Reviewed by Simon Fraser.

Add a bool to RenderView that indicates whether or not any flipped blocks have been
added to the view. Once tainted, the view just stays dirty forever. If no flipped
blocks are ever seen, we can then optimize away calls to containingBlock().

The motivation for this patch is to improve layer position updating, which makes many
calls to topLeftLocationOffset(), one of the functions that can be optimized by this
change.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::layoutOverflowRectForPropagation):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::updateFromStyle):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::rangeIntersectsRect):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderView.h:

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

5 years ago[iOS] tapping in the middle of a word in editable content should not select the word.
enrica@apple.com [Thu, 30 Apr 2015 18:21:01 +0000 (18:21 +0000)]
[iOS] tapping in the middle of a word in editable content should not select the word.
https://bugs.webkit.org/show_bug.cgi?id=144421
rdar://problem/20710948

Reviewed by Tim Horton.

Reverting to the original behavior.

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

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

5 years ago[GTK] Add libhyphen-dev to the build dependencies
calvaris@igalia.com [Thu, 30 Apr 2015 18:20:47 +0000 (18:20 +0000)]
[GTK] Add libhyphen-dev to the build dependencies
https://bugs.webkit.org/show_bug.cgi?id=144452

Reviewed by Martin Robinson.

* gtk/install-dependencies: Added libhyphen-dev to the WebKitGTK+
build dependencies.

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

5 years ago[GTK] Web Inspector: New Images for ObjectTreeView - Setter
agomez@igalia.com [Thu, 30 Apr 2015 18:00:44 +0000 (18:00 +0000)]
[GTK] Web Inspector: New Images for ObjectTreeView - Setter
https://bugs.webkit.org/show_bug.cgi?id=143173

Reviewed by Martin Robinson.

* UserInterface/Images/gtk/Pencil.svg: Added.

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

5 years ago[GTK] Testing dictionaries are not installed automatically
mrobinson@webkit.org [Thu, 30 Apr 2015 17:50:16 +0000 (17:50 +0000)]
[GTK] Testing dictionaries are not installed automatically
https://bugs.webkit.org/show_bug.cgi?id=144460

Reviewed by Carlos Garcia Campos.

* gtk/jhbuild.modules: Add the testing dictionaries to the main moduleset.

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

5 years agoUnreviewed, add a FIXME comment referencing https://bugs.webkit.org/show_bug.cgi...
fpizlo@apple.com [Thu, 30 Apr 2015 17:44:23 +0000 (17:44 +0000)]
Unreviewed, add a FIXME comment referencing https://bugs.webkit.org/show_bug.cgi?id=144458.

* jit/JITOperations.cpp:

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

5 years agoAdd a comment clarifying the behavior and semantics of getCallData/getConstructData, in
fpizlo@apple.com [Thu, 30 Apr 2015 17:40:31 +0000 (17:40 +0000)]
Add a comment clarifying the behavior and semantics of getCallData/getConstructData, in
particular that they cannot change their minds and may be called from compiler threads.

Rubber stamped by Geoffrey Garen.

* runtime/JSCell.h:

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

5 years agoDFG Is<Blah> versions of TypeOf should fold based on proven input type
fpizlo@apple.com [Thu, 30 Apr 2015 17:36:26 +0000 (17:36 +0000)]
DFG Is<Blah> versions of TypeOf should fold based on proven input type
https://bugs.webkit.org/show_bug.cgi?id=144409

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:

We were missing some obvious folding opportunities here. I don't know how this affects real
code, but in general, we like to ensure that our constant folding is comprehensive. So this
is more about placating my static analysis OCD than anything else.

I added a bunch of speed/correctness tests for this in LayoutTests/js/regress.

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

LayoutTests:

* js/regress/is-boolean-fold-expected.txt: Added.
* js/regress/is-boolean-fold-tricky-expected.txt: Added.
* js/regress/is-boolean-fold-tricky.html: Added.
* js/regress/is-boolean-fold.html: Added.
* js/regress/is-function-fold-expected.txt: Added.
* js/regress/is-function-fold-tricky-expected.txt: Added.
* js/regress/is-function-fold-tricky-internal-function-expected.txt: Added.
* js/regress/is-function-fold-tricky-internal-function.html: Added.
* js/regress/is-function-fold-tricky.html: Added.
* js/regress/is-function-fold.html: Added.
* js/regress/is-number-fold-expected.txt: Added.
* js/regress/is-number-fold-tricky-expected.txt: Added.
* js/regress/is-number-fold-tricky.html: Added.
* js/regress/is-number-fold.html: Added.
* js/regress/is-object-or-null-fold-expected.txt: Added.
* js/regress/is-object-or-null-fold-functions-expected.txt: Added.
* js/regress/is-object-or-null-fold-functions.html: Added.
* js/regress/is-object-or-null-fold-less-tricky-expected.txt: Added.
* js/regress/is-object-or-null-fold-less-tricky.html: Added.
* js/regress/is-object-or-null-fold-tricky-expected.txt: Added.
* js/regress/is-object-or-null-fold-tricky.html: Added.
* js/regress/is-object-or-null-fold.html: Added.
* js/regress/is-object-or-null-trickier-function-expected.txt: Added.
* js/regress/is-object-or-null-trickier-function.html: Added.
* js/regress/is-object-or-null-trickier-internal-function-expected.txt: Added.
* js/regress/is-object-or-null-trickier-internal-function.html: Added.
* js/regress/is-object-or-null-tricky-function-expected.txt: Added.
* js/regress/is-object-or-null-tricky-function.html: Added.
* js/regress/is-object-or-null-tricky-internal-function-expected.txt: Added.
* js/regress/is-object-or-null-tricky-internal-function.html: Added.
* js/regress/is-string-fold-expected.txt: Added.
* js/regress/is-string-fold-tricky-expected.txt: Added.
* js/regress/is-string-fold-tricky.html: Added.
* js/regress/is-string-fold.html: Added.
* js/regress/is-undefined-fold-expected.txt: Added.
* js/regress/is-undefined-fold-tricky-expected.txt: Added.
* js/regress/is-undefined-fold-tricky.html: Added.
* js/regress/is-undefined-fold.html: Added.
* js/regress/script-tests/is-boolean-fold-tricky.js: Added.
* js/regress/script-tests/is-boolean-fold.js: Added.
* js/regress/script-tests/is-function-fold-tricky-internal-function.js: Added.
* js/regress/script-tests/is-function-fold-tricky.js: Added.
(func):
(func2):
* js/regress/script-tests/is-function-fold.js: Added.
(value1):
* js/regress/script-tests/is-number-fold-tricky.js: Added.
* js/regress/script-tests/is-number-fold.js: Added.
* js/regress/script-tests/is-object-or-null-fold-functions.js: Added.
(value2):
* js/regress/script-tests/is-object-or-null-fold-less-tricky.js: Added.
* js/regress/script-tests/is-object-or-null-fold-tricky.js: Added.
* js/regress/script-tests/is-object-or-null-fold.js: Added.
* js/regress/script-tests/is-object-or-null-trickier-function.js: Added.
(func):
(func2):
* js/regress/script-tests/is-object-or-null-trickier-internal-function.js: Added.
* js/regress/script-tests/is-object-or-null-tricky-function.js: Added.
(func):
* js/regress/script-tests/is-object-or-null-tricky-internal-function.js: Added.
* js/regress/script-tests/is-string-fold-tricky.js: Added.
* js/regress/script-tests/is-string-fold.js: Added.
* js/regress/script-tests/is-undefined-fold-tricky.js: Added.
* js/regress/script-tests/is-undefined-fold.js: Added.
* js/regress/sink-function-expected.txt: Added.
* js/regress/sink-function.html: Added.

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

5 years ago[Mac] Expand test infrastructure to support scrolling tests (Part 3)
bfulgham@apple.com [Thu, 30 Apr 2015 17:21:55 +0000 (17:21 +0000)]
[Mac] Expand test infrastructure to support scrolling tests (Part 3)
https://bugs.webkit.org/show_bug.cgi?id=144131

Reviewed by Eric Carlson.

Update the WK2 scrolling tests to use the new scroll trigger infrastructure to reduce the use of
timeouts.

* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler.html:
* platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select.html:
* platform/mac-wk2/tiled-drawing/scrolling/overflow-scroll-zero-delta-wheel-events.html:
* platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:

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

5 years ago[GTK] Web Inspector: Remove some unused Images
agomez@igalia.com [Thu, 30 Apr 2015 17:17:59 +0000 (17:17 +0000)]
[GTK] Web Inspector: Remove some unused Images
https://bugs.webkit.org/show_bug.cgi?id=144445

Reviewed by Carlos Garcia Campos.

* UserInterface/Images/gtk/BottomUpTree.svg: Removed.
* UserInterface/Images/gtk/Log.png: Removed.
* UserInterface/Images/gtk/Log@2x.png: Removed.
* UserInterface/Images/gtk/NavigationItemAngleBrackets.svg: Removed.
* UserInterface/Images/gtk/NavigationItemBrushAndRuler.svg: Removed.
* UserInterface/Images/gtk/NavigationItemBug.svg: Removed.
* UserInterface/Images/gtk/NavigationItemFile.svg: Removed.
* UserInterface/Images/gtk/NavigationItemLayers.svg: Removed.
* UserInterface/Images/gtk/NavigationItemLog.svg: Removed.
* UserInterface/Images/gtk/NavigationItemProbes.svg: Removed.
* UserInterface/Images/gtk/NavigationItemStopwatch.svg: Removed.
* UserInterface/Images/gtk/NavigationItemStorage.svg: Removed.
* UserInterface/Images/gtk/NavigationItemVariable.svg: Removed.
* UserInterface/Images/gtk/Percent.svg: Removed.
* UserInterface/Images/gtk/Reload.svg: Removed.
* UserInterface/Images/gtk/SplitToggleDown.svg: Removed.
* UserInterface/Images/gtk/Time.svg: Removed.
* UserInterface/Images/gtk/Weight.svg: Removed.

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

5 years ago[CMake] Automatically expose WTF_USE_FOO to the build when USE_FOO is exposed
mrobinson@webkit.org [Thu, 30 Apr 2015 16:17:08 +0000 (16:17 +0000)]
[CMake] Automatically expose WTF_USE_FOO to the build when USE_FOO is exposed
https://bugs.webkit.org/show_bug.cgi?id=144394

Reviewed by Carlos Garcia Campos.

Automatically expose WTF_USE_FOO when USE_FOO is exposed. A side-effect of this change
is that it fixes the redirected XComposite window for GTK+, which was accidentally
disabled in previous reworking of the CMake configuration.

* Source/cmake/OptionsGTK.cmake: We no longer need to expose the WTF_ prefixed
version of USE variables.
* Source/cmake/WebKitFeatures.cmake: Automatically expose WTF_USE_FOO when USE_FOO
is exposed to the build.

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

5 years agoWeb Inspector: Copy not working in Console
commit-queue@webkit.org [Thu, 30 Apr 2015 08:54:05 +0000 (08:54 +0000)]
Web Inspector: Copy not working in Console
https://bugs.webkit.org/show_bug.cgi?id=144354

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

* UserInterface/Base/Main.js:
(WebInspector._focusedContentView):
Select the inner most content view to check if handleCopyEvent exists.
Previously we were stopping at the top level TabContentView.

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

5 years agoUse the default hash value for Symbolized StringImpl
utatane.tea@gmail.com [Thu, 30 Apr 2015 08:37:51 +0000 (08:37 +0000)]
Use the default hash value for Symbolized StringImpl
https://bugs.webkit.org/show_bug.cgi?id=144347

Reviewed by Darin Adler.

Source/JavaScriptCore:

Before this patch, symbolized StringImpl* has a special hash value
to avoid the hash collision with the other normal StringImpl*.
I guess that it is introduced when private symbols are introduced.
However, it prevents using symbolized StringImpl* in the other place
For example, using it as WTFString cause a problem because of its special hash value.

When only using private symbols, they are not exposed to the outside of JSC,
so we can handle it carefully. But now, it's extended to symbols.
So I think storing a special hash value in StringImpl* causes an error.

To avoid this, I propose using the usual hash value in symbolized StringImpl*.
And to provide significantly different hash value when using it as symbol,
store the additional hash value in symbolized StringImpl*. It is used when
the hash value is required by IdentifierRepHash.

* runtime/Identifier.h:
(JSC::IdentifierRepHash::hash):
* runtime/Lookup.h:
(JSC::HashTable::entry):
* runtime/PropertyMapHashTable.h:
(JSC::PropertyTable::find):
(JSC::PropertyTable::get):
* runtime/Structure.cpp:
(JSC::PropertyTable::checkConsistency):

Source/WTF:

Use a default hash value calculation for symbolized StringImpl.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::createSymbol):
* wtf/text/StringImpl.h:
(WTF::StringImpl::StringImpl):
(WTF::StringImpl::symbolAwareHash):
(WTF::StringImpl::existingSymbolAwareHash):
(WTF::StringImpl::hashForSymbol):
* wtf/text/StringStatics.cpp:
(WTF::StringImpl::nextHashForSymbol):
(WTF::StringImpl::hashAndFlagsForSymbol): Deleted.

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

5 years agoThese should be saying HTTP/1.1 not HTTP/1.0
antti@apple.com [Thu, 30 Apr 2015 07:39:21 +0000 (07:39 +0000)]
These should be saying HTTP/1.1 not HTTP/1.0

* http/tests/cache/resources/iframe304.php:
* http/tests/cache/resources/iframe304body.php:

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

5 years agoUnreviewed. Bump GTK+ version numbers.
carlosgc@webkit.org [Thu, 30 Apr 2015 07:13:07 +0000 (07:13 +0000)]
Unreviewed. Bump GTK+ version numbers.

* Source/cmake/OptionsGTK.cmake:

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

5 years agoFix return code issue, check return code of safari process and dump results to log
commit-queue@webkit.org [Thu, 30 Apr 2015 07:08:19 +0000 (07:08 +0000)]
Fix return code issue, check return code of safari process and dump results to log
https://bugs.webkit.org/show_bug.cgi?id=144436

Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-04-30
Reviewed by Ryosuke Niwa.

* Scripts/run-benchmark:
* Scripts/webkitpy/benchmark_runner/benchmark_runner.py:
(BenchmarkRunner.dump): Correct typo.
(BenchmarkRunner.wrap): Add results to console.
* Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py: Check return code to detect Safari crashes.
(OSXSafariDriver.prepareEnv):
(OSXSafariDriver.launchUrl):
(OSXSafariDriver.closeBrowsers):

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

5 years agoShould no longer need to worry about very old versions of Xcode
commit-queue@webkit.org [Thu, 30 Apr 2015 06:43:57 +0000 (06:43 +0000)]
Should no longer need to worry about very old versions of Xcode
https://bugs.webkit.org/show_bug.cgi?id=144437

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-04-29
Reviewed by Dan Bernstein.

* Scripts/check-for-exit-time-destructors:
* Scripts/check-for-global-initializers:
* Scripts/check-for-weak-vtables-and-externals:

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

5 years ago[EFL] CMake should be failed if openwebrtc package does not exist but ENABLE_MEDIA_ST...
ryuan.choi@navercorp.com [Thu, 30 Apr 2015 06:37:15 +0000 (06:37 +0000)]
[EFL] CMake should be failed if openwebrtc package does not exist but ENABLE_MEDIA_STREAM is ON
https://bugs.webkit.org/show_bug.cgi?id=144435

Reviewed by Gyuyoung Kim.

This patch adds REQUIRED option for OpenWebRTC when ENABLE_MEDIA_STREAM is ON.
In addition, this adds DEFAULT_PORT_VALUE for ENABLE_MEDIA_STREAM to match with FeatureList.pm

* Source/cmake/OptionsEfl.cmake:

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

5 years agoMake GenericTaskQueue even more generic (and usable inside platform/)
jer.noble@apple.com [Thu, 30 Apr 2015 06:29:36 +0000 (06:29 +0000)]
Make GenericTaskQueue even more generic (and usable inside platform/)
https://bugs.webkit.org/show_bug.cgi?id=144414

Reviewed by Eric Carlson.

Templatize GenericTaskQueue so that it can be used from within platform/.

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* dom/GenericTaskQueue.cpp: Removed.
* html/HTMLMediaElement.h:
* platform/GenericTaskQueue.h: Renamed from Source/WebCore/dom/GenericTaskQueue.h.
(WebCore::TaskDispatcher::TaskDispatcher): Added default templatized class which just calls the parameter's postTask().
(WebCore::TaskDispatcher::postTask): Call context's postTask().
(WebCore::TaskDispatcher<Timer>::TaskDispatcher): Add a timer version which does not require a context.
(WebCore::TaskDispatcher<Timer>::postTask): Set the timer.
(WebCore::TaskDispatcher<Timer>::timerFired): Call the task.
(WebCore::GenericTaskQueue::GenericTaskQueue): Moved from .cpp.
(WebCore::GenericTaskQueue::enqueueTask): Ditto.
(WebCore::GenericTaskQueue::close): Ditto.
(WebCore::GenericTaskQueue::cancelAllTasks): Ditto.
(WebCore::GenericTaskQueue::hasPendingTasks): Ditto.

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

5 years ago[Win] Update baselines after r183610.
joepeck@webkit.org [Thu, 30 Apr 2015 05:53:01 +0000 (05:53 +0000)]
[Win] Update baselines after r183610.

Unreviewed Gardening.

* platform/win/fast/css/apple-system-colors-expected.txt: Added.

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

5 years agoUnreviewed build fix. WebCore has a weak symbol.
joepeck@webkit.org [Thu, 30 Apr 2015 04:43:03 +0000 (04:43 +0000)]
Unreviewed build fix. WebCore has a weak symbol.

WebCore has a weak external symbol in it. A common cause of weak external
symbols is when an inline function is listed in the linker export file.
ERROR: symbol __ZNK7WebCore4Page25expectsWheelEventTriggersEv

* page/Page.cpp:
(WebCore::Page::expectsWheelEventTriggers):
* page/Page.h:
(WebCore::Page::expectsWheelEventTriggers): Deleted.

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

5 years ago[JSC] Remove RageConvert array conversion
benjamin@webkit.org [Thu, 30 Apr 2015 04:40:55 +0000 (04:40 +0000)]
[JSC] Remove RageConvert array conversion
https://bugs.webkit.org/show_bug.cgi?id=144433

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

RageConvert was causing a subtle bug that was hitting the Kraken crypto tests
pretty hard:
-The indexing types shows that the array access varies between Int32 and DoubleArray.
-ArrayMode::fromObserved() decided to use the most generic type: DoubleArray.
 An Arrayify node would convert the Int32 to that type.
-Somewhere, a GetByVal or PutByVal would have the flag NodeBytecodeUsesAsInt. That
 node would use RageConvert instead of Convert.
-The Arrayify for that GetByVal with RageConvert would not convert the array to
 Contiguous.
-All the following array access that do not have the flag NodeBytecodeUsesAsInt would
 now expect a DoubleArray and always get a Contiguous Array. The CheckStructure
 fail systematically and we never get to run the later code.

Getting rid of RageConvert fixes the problem and does not seems to have any
negative side effect on other benchmarks.

The improvments on Kraken are:
    -stanford-crypto-aes: definitely 1.0915x faster.
    -stanford-crypto-pbkdf2: definitely 1.2446x faster.
    -stanford-crypto-sha256-iterative: definitely 1.0544x faster.

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::refine):
(JSC::DFG::arrayConversionToString):
* dfg/DFGArrayMode.h:
* dfg/DFGArrayifySlowPathGenerator.h:
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
* runtime/JSObject.cpp:
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::genericConvertDoubleToContiguous): Deleted.
(JSC::JSObject::rageConvertDoubleToContiguous): Deleted.
(JSC::JSObject::rageEnsureContiguousSlow): Deleted.
* runtime/JSObject.h:
(JSC::JSObject::rageEnsureContiguous): Deleted.

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

5 years agoCrash at WebCore::Document::absoluteRegionForEventTargets
simon.fraser@apple.com [Thu, 30 Apr 2015 04:15:11 +0000 (04:15 +0000)]
Crash at WebCore::Document::absoluteRegionForEventTargets
https://bugs.webkit.org/show_bug.cgi?id=144426
rdar://problem/20502166

Reviewed by Tim Horton.

Source/WebCore:

When a frame had wheel event handlers, we would register the document itself
as a handler in its parent document. This is problematic, because there's not
code path that removes it when the frame is destroyed.

It turns out we don't need to do this at all; the non-fast scrollable region
already takes handlers in subframes into account.

Tests: fast/events/wheelevent-in-frame.html
       fast/events/wheelevent-in-reattached-frame.html

* dom/Document.cpp:
(WebCore::Document::didAddWheelEventHandler):
(WebCore::Document::didRemoveWheelEventHandler):

LayoutTests:

Test that disconnects a frame with a wheel event handler then GCs, and one that
disconnects are reconnects. In both case, the parent document should have zero
wheel event handlers registered on it.

* fast/events/wheelevent-in-frame-expected.txt: Added.
* fast/events/wheelevent-in-frame.html: Added.
* fast/events/wheelevent-in-reattached-frame-expected.txt: Added.
* fast/events/wheelevent-in-reattached-frame.html: Added.

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

5 years agoNot all videos should automatically play to playback target
eric.carlson@apple.com [Thu, 30 Apr 2015 03:40:16 +0000 (03:40 +0000)]
Not all videos should automatically play to playback target
https://bugs.webkit.org/show_bug.cgi?id=144430
<rdar://problem/20718523>

Reviewed by Darin Adler.

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::clientStateDidChange): Consider ExternalDeviceAutoPlayCandidate.
Minor cleanup.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaState): Set ExternalDeviceAutoPlayCandidate when a <video>
has a file with an audio track that does not loop.

* page/MediaProducer.h: Add ExternalDeviceAutoPlayCandidate.

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