WebKit-https.git
7 years agoRemove use of deprecatedDeleteAllValues in NPRemoteObjectMap::pluginDestroyed
darin@apple.com [Thu, 17 Apr 2014 16:58:33 +0000 (16:58 +0000)]
Remove use of deprecatedDeleteAllValues in NPRemoteObjectMap::pluginDestroyed
https://bugs.webkit.org/show_bug.cgi?id=122496

Reviewed by Brent Fulgham.

* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::pluginDestroyed): Use new-style code and write the
deprecatedDeleteAllValues function out using a loop. Might be nice to return here
and use unique_ptr instead some day, but I tried that before and got it wrong, so
lets do that another time.

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

7 years ago[Win] cygwin to keep installing curl 7.33.0-1 and subversion 1.7.14-1
agomez@igalia.com [Thu, 17 Apr 2014 16:47:56 +0000 (16:47 +0000)]
[Win] cygwin to keep installing curl 7.33.0-1 and subversion 1.7.14-1
https://bugs.webkit.org/show_bug.cgi?id=131365

Reviewed by Brent Fulgham.

The cygwin installer is now downloading the wanted versions for
the local installation given to the setup wizard.

* CygwinDownloader/cygwin-downloader.py:
* CygwinDownloader/cygwin-downloader.zip:

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

7 years ago[New Multicolumn] REGRESSION: Column set styles don't update when zooming etc.
hyatt@apple.com [Thu, 17 Apr 2014 16:45:29 +0000 (16:45 +0000)]
[New Multicolumn] REGRESSION: Column set styles don't update when zooming etc.
https://bugs.webkit.org/show_bug.cgi?id=131777

Reviewed by Enrica Casucci.

Source/WebCore:
Added fast/multicol/zoom-test.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::styleDidChange):
Put back in the code that propagates new styles to the flow thread and column sets
when styles change. This propagation was removed when the column span code landed.
This patch puts it back in but qualifies the types of objects that get styles
propagated to avoid accidentally propagating the wrong style to column spans.

LayoutTests:
* fast/multicol/zoom-test-expected.html: Added.
* fast/multicol/zoom-test.html: Added.

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

7 years ago[EFL] Remove deprecated ewk_paint code.
commit-queue@webkit.org [Thu, 17 Apr 2014 14:53:31 +0000 (14:53 +0000)]
[EFL] Remove deprecated ewk_paint code.
https://bugs.webkit.org/show_bug.cgi?id=131266

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-04-17
Reviewed by Gyuyoung Kim.

ewk_paint related code was deprecated since r166637.

Source/WebKit:
* PlatformEfl.cmake: Remove ewk_paint_context.cpp

Source/WebKit/efl:
* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
* WebCoreSupport/ChromeClientEfl.cpp:
(WebCore::ChromeClientEfl::invalidateRootView): Deleted.
(WebCore::ChromeClientEfl::invalidateContentsAndRootView): Deleted.
(WebCore::ChromeClientEfl::invalidateContentsForSlowScroll): Deleted.
(WebCore::ChromeClientEfl::scroll): Deleted.
* WebCoreSupport/ChromeClientEfl.h:
* WebCoreSupport/InspectorClientEfl.cpp:
* ewk/ewk_paint_context.cpp: Removed.
* ewk/ewk_paint_context_private.h: Removed.
* ewk/ewk_view.cpp:
(_ewk_view_priv_del):
(_ewk_view_smart_calculate):
(ewk_view_smart_set):
(_ewk_view_repaints_resize): Deleted.
(_ewk_view_repaint_add): Deleted.
(_ewk_view_repaints_flush): Deleted.
(_ewk_view_smart_flush): Deleted.
(ewk_view_repaints_pop): Deleted.
(ewk_view_repaint_add): Deleted.
(ewk_view_paint): Deleted.
(ewk_view_paint_contents): Deleted.
(ewk_view_repaint): Deleted.
(ewk_view_scroll): Deleted.
(ewk_view_tiled_backing_store_invalidate): Deleted.
* ewk/ewk_view_private.h:

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

7 years agoAdd separate flag for IndexedDatabase in workers since the current implementation...
darin@apple.com [Thu, 17 Apr 2014 14:48:18 +0000 (14:48 +0000)]
Add separate flag for IndexedDatabase in workers since the current implementation is not threadsafe
https://bugs.webkit.org/show_bug.cgi?id=131785
rdar://problem/16003108

Reviewed by Brady Eidson.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Added INDEXED_DATABASE_IN_WORKERS.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Added INDEXED_DATABASE_IN_WORKERS.

* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp: Use the new conditional
instead of the old one.
* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h: Ditto.
* Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl: Ditto.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Added INDEXED_DATABASE_IN_WORKERS.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Added INDEXED_DATABASE_IN_WORKERS.

Source/WTF:

* wtf/FeatureDefines.h: Added INDEXED_DATABASE_IN_WORKERS.

LayoutTests:

* js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
* js/dom/global-constructors-attributes-shared-worker-expected.txt:
Updated results since indexed database features are not on by default any more.

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

7 years ago[GTK] Make run-webkit-tests always use WKTR
commit-queue@webkit.org [Thu, 17 Apr 2014 14:41:42 +0000 (14:41 +0000)]
[GTK] Make run-webkit-tests always use WKTR
https://bugs.webkit.org/show_bug.cgi?id=131737

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2014-04-17
Reviewed by Darin Adler.

Now that the GTK+ port only has support for WebKit2, instruct
run-webkit-tests to always use WKTR. This avoids needing to pass
flag "-2" every time.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options): Always set webkit_test_runner when
the platform is GTK+.

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

7 years agoSource/WebCore: WebCore part of <rdar://problem/16601336> [Cocoa] _userInitiated...
mitz@apple.com [Thu, 17 Apr 2014 14:00:17 +0000 (14:00 +0000)]
Source/WebCore: WebCore part of <rdar://problem/16601336> [Cocoa] _userInitiated is always NO in WKNavigationAction passed to -webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:
https://bugs.webkit.org/show_bug.cgi?id=131783

Reviewed by Tim Horton.

* loader/NavigationAction.cpp:
(WebCore::NavigationAction::NavigationAction): Initialize m_processingUserGesture to
ScriptController::processingUserGesture() at the time the NavigationAction is constructed.
* loader/NavigationAction.h:
Added boolean member variable m_processionUserGesture
(WebCore::NavigationAction::processingUserGesture): Added this getter.

Source/WebKit2: WebKit2 part of <rdar://problem/16601336> [Cocoa] _userInitiated is always NO in WKNavigationAction passed to -webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:
https://bugs.webkit.org/show_bug.cgi?id=131783

Reviewed by Tim Horton.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow): Set the isProcessingUserGesture field of
the NavigationActionData to the corresponding value in the NavigationAction.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction): Ditto.
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.

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

7 years ago[CSS Blending] Isolation descendant dependent flags are not updated correctly
commit-queue@webkit.org [Thu, 17 Apr 2014 08:42:53 +0000 (08:42 +0000)]
[CSS Blending] Isolation descendant dependent flags are not updated correctly
https://bugs.webkit.org/show_bug.cgi?id=130892

Patch by Ion Rosca <rosca@adobe.com> on 2014-04-17
Reviewed by Dean Jackson.

Source/WebCore:
The isolation descendant dependent flag (m_hasUnisolatedBlendingDescendants)
will help us to determine if a layer should isolate blending descendants or not.
The m_hasUnisolatedBlendingDescendants flag should be set for layers that have blending descendant layers
not isolated by descendant stacking contexts.
An element isolatesBlending() if it has this flag set and creates stacking context.

Tests: css3/compositing/blend-mode-isolation-flags-append-non-stacking-context-blending.html
       css3/compositing/blend-mode-isolation-flags-append-stacking-context-blending.html
       css3/compositing/blend-mode-isolation-flags-remove-non-stacking-context-blending.html
       css3/compositing/blend-mode-isolation-flags-remove-stacking-context-blending.html
       css3/compositing/blend-mode-isolation-flags-turn-off-blending-no-isolation.html
       css3/compositing/blend-mode-isolation-flags-turn-off-blending.html
       css3/compositing/blend-mode-isolation-flags-turn-off-stacking-context.html
       css3/compositing/blend-mode-isolation-flags-turn-on-blending.html
       css3/compositing/blend-mode-isolation-flags-turn-on-stacking-context.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateBlendMode):
(WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants):
    When a layer has blending and it hasn't had it before, we set the isolation
flag for all its ancestors up to the first layer creating stacking context.
I removed the isComposited() check here. Isolation flags should be correct regardless
of compositing state. Moreover, if this method is called from styleChanged(),
the compositing state might not be accurate, it's going to be recalculated afterwards.
(WebCore::RenderLayer::dirtyAncestorChainHasBlendingDescendants):
    When a layer doesn't have blending, but it used to have it before, we mark
the isolation flag as dirty for all its ancestors up to the first layer
creating stacking context. The isolation flags will be recalculated by
RenderLayer::updateDescendantDependentFlags.
(WebCore::RenderLayer::updateDescendantDependentFlags):
    Evaluates if the layer has unisolated blending descendants by traversing
the layer subtree.
(WebCore::RenderLayer::addChild):
    When adding a subtree that has blending or has some unisolated descendants,
we set the flag for all the ancestors, up to the stacking context layer.
(WebCore::RenderLayer::removeChild):
    When removing a subtree that had blending or had some unisolated descendants,
we dirty the flag so that it could be reevaluated.
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::updateTransform):
* rendering/RenderLayer.h:
    Rename m_hasBlendedElementInChildStackingContext => m_hasUnisolatedBlendingDescendants
and m_hasBlendedElementInChildStackingContextStatusDirty => m_hasUnisolatedBlendingDescendantsStatusDirty,
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
    Add an assert to make sure that if m_hasUnisolatedCompositedBlendingDescendants is true,
then m_hasUnisolatedBlendingDescendants is true as well.

LayoutTests:
* css3/compositing/blend-mode-isolation-flags-append-non-stacking-context-blending.html: Added.
* css3/compositing/blend-mode-isolation-flags-append-stacking-context-blending.html: Added.
* css3/compositing/blend-mode-isolation-flags-remove-non-stacking-context-blending.html: Added.
* css3/compositing/blend-mode-isolation-flags-remove-stacking-context-blending.html: Added.
* css3/compositing/blend-mode-isolation-flags-turn-off-blending-no-isolation.html: Added.
* css3/compositing/blend-mode-isolation-flags-turn-off-blending.html: Added.
* css3/compositing/blend-mode-isolation-flags-turn-off-stacking-context.html: Added.
* css3/compositing/blend-mode-isolation-flags-turn-on-blending.html: Added.
* css3/compositing/blend-mode-isolation-flags-turn-on-stacking-context.html: Added.
* platform/mac/css3/compositing/blend-mode-background-expected.txt:
* platform/mac/css3/compositing/blend-mode-isolated-group-1-expected.txt:
* platform/mac/css3/compositing/blend-mode-isolated-group-2-expected.txt:
* platform/mac/css3/compositing/blend-mode-isolated-group-3-expected.txt:
* platform/mac/css3/compositing/blend-mode-isolation-flags-append-non-stacking-context-blending-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-isolation-flags-append-stacking-context-blending-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-isolation-flags-remove-non-stacking-context-blending-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-isolation-flags-remove-stacking-context-blending-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-isolation-flags-turn-off-blending-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-isolation-flags-turn-off-blending-no-isolation-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-isolation-flags-turn-off-stacking-context-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-isolation-flags-turn-on-blending-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-isolation-flags-turn-on-stacking-context-expected.txt: Added.
* platform/mac/css3/compositing/blend-mode-layers-expected.txt:
* platform/mac/css3/compositing/blend-mode-reflection-expected.txt:
* platform/mac/css3/compositing/blend-mode-simple-composited-expected.txt:
* platform/mac/css3/compositing/blend-mode-simple-expected.txt:

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

7 years agoUninline blend(Color, Color) to get AnimationUtilities out of Color.h
timothy_horton@apple.com [Thu, 17 Apr 2014 07:33:23 +0000 (07:33 +0000)]
Uninline blend(Color, Color) to get AnimationUtilities out of Color.h
https://bugs.webkit.org/show_bug.cgi?id=131781

Reviewed by Simon Fraser.

* platform/graphics/Color.cpp:
(WebCore::blend):
Un-inline.

* platform/graphics/Color.h:
No more AnimationUtilities.

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

7 years ago[Gtk] Install ninja-build in Tools/gtk/install-dependencies
b.long@cablelabs.com [Thu, 17 Apr 2014 07:23:59 +0000 (07:23 +0000)]
[Gtk] Install ninja-build in Tools/gtk/install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=131760

Reviewed by Philippe Normand.

* gtk/install-dependencies: Install ninja-build when it's available.

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

7 years agoBuild fix after http://trac.webkit.org/changeset/167416 (Sink NaN sanitization)
ap@apple.com [Thu, 17 Apr 2014 05:31:33 +0000 (05:31 +0000)]
Build fix after trac.webkit.org/changeset/167416 (Sink NaN sanitization)

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

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

7 years agoExtra error reporting for invalid value conversions
fpizlo@apple.com [Thu, 17 Apr 2014 05:02:28 +0000 (05:02 +0000)]
Extra error reporting for invalid value conversions
https://bugs.webkit.org/show_bug.cgi?id=131786

Rubber stamped by Ryosuke Niwa.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):

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

7 years agoSink NaN sanitization to uses and remove it when it's unnecessary
fpizlo@apple.com [Thu, 17 Apr 2014 04:57:29 +0000 (04:57 +0000)]
Sink NaN sanitization to uses and remove it when it's unnecessary
https://bugs.webkit.org/show_bug.cgi?id=131419

Reviewed by Oliver Hunt.

This moves NaN purification to stores that could see an impure NaN.

5% speed-up on AsmBench, 50% speed-up on AsmBench/n-body. It is a regression on FloatMM
though, because of the other bug that causes that benchmark to box doubles in a loop.

* bytecode/SpeculatedType.h:
(JSC::isInt32SpeculationForArithmetic):
(JSC::isMachineIntSpeculationForArithmetic):
(JSC::isDoubleSpeculation):
(JSC::isDoubleSpeculationForArithmetic):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::fixTypeForRepresentation):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):
* dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::mergeStateAtTail):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueRep):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
* dfg/DFGUseKind.h:
(JSC::DFG::typeFilterFor):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileValueRep):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
* runtime/PureNaN.h:
* tests/stress/float32-array-nan-inlined.js: Added.
(foo):
(test):
* tests/stress/float32-array-nan.js: Added.
(foo):
(test):
* tests/stress/float64-array-nan-inlined.js: Added.
(foo):
(isBigEndian):
(test):
* tests/stress/float64-array-nan.js: Added.
(foo):
(isBigEndian):
(test):

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

7 years agoFix the build after r167412
benjamin@webkit.org [Thu, 17 Apr 2014 03:54:11 +0000 (03:54 +0000)]
Fix the build after r167412

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-16

* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):

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

7 years agoVersioning.
lforschler@apple.com [Thu, 17 Apr 2014 03:48:02 +0000 (03:48 +0000)]
Versioning.

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

7 years ago[iOS][WK2] Fix the DidCommitLoad initial scrolling position
benjamin@webkit.org [Thu, 17 Apr 2014 03:28:02 +0000 (03:28 +0000)]
[iOS][WK2] Fix the DidCommitLoad initial scrolling position
https://bugs.webkit.org/show_bug.cgi?id=131780

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-16
Reviewed by Jon Honeycutt.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:]):
That code is older than _obscuredInsets and used the contentInsets as a workaround.

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

7 years ago[iOS][WK2] Fix annoying scrolling bugs
benjamin@webkit.org [Thu, 17 Apr 2014 03:26:53 +0000 (03:26 +0000)]
[iOS][WK2] Fix annoying scrolling bugs
https://bugs.webkit.org/show_bug.cgi?id=131722

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-16
Reviewed by Simon Fraser.

Source/WebCore:
* platform/ScrollView.cpp:
(WebCore::ScrollView::updateScrollbars):
Since ScrollingStateScrollingNode::setRequestedScrollPosition() was added, we see ScrollView::updateScrollbars()
keep changing the scroll position to incorrect values.

On iOS, the scrollbars are handled by the native UI, the code just compute incorrect scroll position. On WebKit1,
the code does not run because there is a platformWidget().

Just #ifdef the whole useless code.

Source/WebKit2:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _scrollToContentOffset:WebCore::]):
We are scrolling at the wrong position when we have the "small obscured insets".

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

7 years agoOn iOS keep network process running using a process assertion rather than a boost
barraclough@apple.com [Thu, 17 Apr 2014 01:40:04 +0000 (01:40 +0000)]
On iOS keep network process running using a process assertion rather than a boost
https://bugs.webkit.org/show_bug.cgi?id=131779

Reviewed by Benjamin Poulain.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):
    - No need to leak a boost onto the NetworkProcess on iOS.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didFinishLaunching):
    - Take a ProcessAssertion on the NetworkProcess.
* UIProcess/Shared/ChildProcessProxy.h:
    - Added m_assertion.
* UIProcess/WebProcessProxy.h:
    - Removed m_assertion.
* UIProcess/ios/ProcessAssertion.h: Added.
    - Added - refactored from WebProcessProxy.h.
* UIProcess/ios/ProcessAssertion.mm: Added.
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::setState):
    - Added - refactored from WebProcessProxyIOS.mm.
* UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::updateProcessState):
    - Code refactored out to ProcessAssertion.mm.
* WebKit2.xcodeproj/project.pbxproj:
    - Added files.

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

7 years ago[iOS][WK2] Improve the approximation of the scroll position of the dynamic viewport...
benjamin@webkit.org [Thu, 17 Apr 2014 01:26:07 +0000 (01:26 +0000)]
[iOS][WK2] Improve the approximation of the scroll position of the dynamic viewport size updates
https://bugs.webkit.org/show_bug.cgi?id=131720

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-16
Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _scrollToContentOffset:]):
The scrolling tree was forcing scroll at the wrong scale during the transition.

(-[WKWebView _setMinimumLayoutSizeOverride:]):
This was left out by accident. The WebProcess was getting the new layout size twice, making
WebPage::dynamicViewportSizeUpdate() very confused when the content size changes.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):
Add scrolling adjustment for the dynamic relayout case:
-Sticky top and bottom like the UIProcess.
-Keep the same relative position of the unobscured rect's center.

Also fix a bug in the horizontal and vertical adjustments: the code was using the exposed rect
instead of the unobscured rect, which made the adjustments off by the size of the obscured insets.

The type is changed from double to float since ARMv7 has a grudge against double.

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

7 years ago[iOS][WK2] Do not update the visible content rects when setting the same obscured...
benjamin@webkit.org [Thu, 17 Apr 2014 01:23:44 +0000 (01:23 +0000)]
[iOS][WK2] Do not update the visible content rects when setting the same obscured insets multiple times
https://bugs.webkit.org/show_bug.cgi?id=131633

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-16
Reviewed by Darin Adler.

We should avoid computing the visible content rects when not needed.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setObscuredInsets:]):

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

7 years agoImprove performance of the RenderLayerCompositor::OverlapMap
achicu@adobe.com [Thu, 17 Apr 2014 01:00:26 +0000 (01:00 +0000)]
Improve performance of the RenderLayerCompositor::OverlapMap
https://bugs.webkit.org/show_bug.cgi?id=115063

Reviewed by Simon Fraser.

PerformanceTests:
Testing the performance of computing the overlap of 5000 layers.

* Layout/layers_overlap_2d.html: Added. Using non-composited layers, to check
that the performance on the non-composited path is not changing with this patch.
* Layout/layers_overlap_3d.html: Added. Records the time to do the layout of 5000
non-overlapping 3D layers.

Source/WebCore:
No new tests, no new functionality or behavior.

Do not use the OverlapMap in RenderLayerCompositor::computeCompositingRequirements if the layer already
has a 3D transform. This way we can avoid a potential expensive lookups when we know for sure the layer
is already supposed to be composited.

Also, added a bounding box of the overlap map, so that it can catch cases when the new layer is not overlapping
any of the previous layers. This is pretty common when having composited layers laid out in a vertical/horizontal list.

* rendering/RenderLayerCompositor.cpp:
(OverlapMapContainer):
(WebCore::OverlapMapContainer::add):
(WebCore::OverlapMapContainer::overlapsLayers):
(WebCore::OverlapMapContainer::unite):
(WebCore):
(WebCore::RenderLayerCompositor::OverlapMap::add):
(WebCore::RenderLayerCompositor::OverlapMap::overlapsLayers):
(WebCore::RenderLayerCompositor::OverlapMap::pushCompositingContainer):
(WebCore::RenderLayerCompositor::OverlapMap::popCompositingContainer):
(RenderLayerCompositor::OverlapMap):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

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

7 years agoWeb Replay: memoize fallback time values for document.lastModified
burg@cs.washington.edu [Thu, 17 Apr 2014 00:56:35 +0000 (00:56 +0000)]
Web Replay: memoize fallback time values for document.lastModified
https://bugs.webkit.org/show_bug.cgi?id=131318

Reviewed by Joseph Pecoraro.

Source/WebCore:
If a document's Last-Modified header can't be found or used, then
document.lastModified is derived from the current system time or
from filesystem data, which is obviously nondeterministic.

It's better to handle this inside Document::lastModified rather than using
MemoizedDOMResult, because only the fallback case is nondeterministic.

Test: http/tests/inspector/replay/document-last-modified-fallback-value.html

The test is skipped for now, as it will be very flaky without the
functionality introduced by bugs 130728 and 129391.

* dom/Document.cpp:
(WebCore::Document::lastModified): Save or reuse memoized fallback value.
* replay/WebInputs.json: Add input DocumentLastModifiedDate.

LayoutTests:
Mark the new test as skipped until dependent functionality is landed.

* http/tests/inspector/replay/document-last-modified-fallback-value.html: Added.

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

7 years ago[Win] Unreviewed Windows gardening. Restrict our new 'isinf' check
bfulgham@apple.com [Thu, 17 Apr 2014 00:40:36 +0000 (00:40 +0000)]
[Win] Unreviewed Windows gardening. Restrict our new 'isinf' check
to 32-bit builds, and revise the comment to explain what we are
doing.

* runtime/JSCJSValueInlines.h:
(JSC::JSValue::isMachineInt): Provide motivation for the new
'isinf' check for our 32-bit code path.

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

7 years ago[New Multicolumn] Selection gets confused when the mouse is in the column gaps.
hyatt@apple.com [Thu, 17 Apr 2014 00:27:34 +0000 (00:27 +0000)]
[New Multicolumn] Selection gets confused when the mouse is in the column gaps.
https://bugs.webkit.org/show_bug.cgi?id=131739

Reviewed by Enrica Casucci.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::selectionGaps):
Make sure not to paint selection gaps. This matches the old multi-column behavior. Even though
selection gaps *nearly* work with the new multi-column code, I am disabling them so that we
can turn them on without visual regressions.

(WebCore::isChildHitTestCandidate):
Don't allow in-flow RenderFlowThreads to be descended into from positionForPoint. We always want
to look only at the spanners and at the sets.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::nodeAtPoint):
* rendering/RenderMultiColumnFlowThread.h:
Override nodeAtPoint to disallow the RenderMultiColumnFlowThread from being considered for hit
testing when no DOM node is found. It's better to just let RenderBlock's positionForPoint run
to drill back down into the appropriate column set.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::positionForPoint):
Implement positionForPoint for RenderMultiColumnSets. This is a straight-up port of the
old multi-column code's adjustPointToColumnContents function.

* rendering/RenderMultiColumnSet.h:
Add override of positionForPoint.

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

7 years agoImages dragged from WebKit1 on 2x displays are too big
timothy_horton@apple.com [Wed, 16 Apr 2014 23:59:13 +0000 (23:59 +0000)]
Images dragged from WebKit1 on 2x displays are too big
https://bugs.webkit.org/show_bug.cgi?id=131775
<rdar://problem/15933525>

Reviewed by Simon Fraser.

* WebCoreSupport/WebDragClient.mm:
(WebDragClient::startDrag):
Scale the drag image's logical size down by the device scale factor
in WebKit1 just like we do in WebKit2.

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

7 years agoMediaDocument on iOS should be full page
dino@apple.com [Wed, 16 Apr 2014 23:55:36 +0000 (23:55 +0000)]
MediaDocument on iOS should be full page
https://bugs.webkit.org/show_bug.cgi?id=131774

Reviewed by Jer Noble.

Source/WebCore:
A MediaDocument on iOS has two problems. It can't rely
on intrinsic size, since it doesn't load the content until
a user gesture. Secondly, on a small screen you want the
media to fill the page.

Add width/height 100% for iOS documents.

Test: platform/iphone-simulator/media/media-document-controls-size.html

* html/MediaDocument.cpp:
(WebCore::MediaDocumentParser::createDocumentStructure):

LayoutTests:
* platform/iphone-simulator/media/media-document-controls-size-expected.txt: Added.
* platform/iphone-simulator/media/media-document-controls-size.html: Added.

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

7 years agoAdd a way for layout tests to determine whether or not a plugin is snapshotted.
roger_fong@apple.com [Wed, 16 Apr 2014 23:53:59 +0000 (23:53 +0000)]
Add a way for layout tests to determine whether or not a plugin is snapshotted.
https://bugs.webkit.org/show_bug.cgi?id=131650.
<rdar://problem/16615528>

Reviewed by Dean Jackson.

* testing/Internals.cpp:
(WebCore::Internals::isPluginSnapshotted):
* testing/Internals.h:
* testing/Internals.idl:

Adjust simple.html accordingly, more snapshotting test changes to come.
* platform/mac-wk2/plugins/snapshotting/simple-expected.txt:
* plugins/snapshotting/simple.html:

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

7 years agoDon't include CryptographicallyRandomNumber.h in StringImpl.h
simon.fraser@apple.com [Wed, 16 Apr 2014 23:50:25 +0000 (23:50 +0000)]
Don't include CryptographicallyRandomNumber.h in StringImpl.h
https://bugs.webkit.org/show_bug.cgi?id=131772

Reviewed by Sam Weinig.

* wtf/text/StringImpl.h:

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

7 years agoMake IPC::Arguments a variadic template
zandobersek@gmail.com [Wed, 16 Apr 2014 23:46:59 +0000 (23:46 +0000)]
Make IPC::Arguments a variadic template
https://bugs.webkit.org/show_bug.cgi?id=131684

Reviewed by Darin Adler.

Make IPC::Arguments a variadic template that uses the template parameter pack to further
define the std::tuple ValueType and is used to define the std::tuple container of the
values passed into the container.

* Platform/IPC/Arguments.h:
(IPC::Arguments::Arguments):
(IPC::Arguments::encode):
(IPC::Arguments::decode):
(IPC::Arguments0::encode): Deleted.
(IPC::Arguments0::decode): Deleted.
(IPC::Arguments1::Arguments1): Deleted.
(IPC::Arguments1::encode): Deleted.
(IPC::Arguments1::decode): Deleted.
(IPC::Arguments2::Arguments2): Deleted.
(IPC::Arguments2::encode): Deleted.
(IPC::Arguments2::decode): Deleted.
(IPC::Arguments3::Arguments3): Deleted.
(IPC::Arguments3::encode): Deleted.
(IPC::Arguments3::decode): Deleted.
(IPC::Arguments4::Arguments4): Deleted.
(IPC::Arguments4::encode): Deleted.
(IPC::Arguments4::decode): Deleted.
(IPC::Arguments5::Arguments5): Deleted.
(IPC::Arguments5::encode): Deleted.
(IPC::Arguments5::decode): Deleted.
(IPC::Arguments6::Arguments6): Deleted.
(IPC::Arguments6::encode): Deleted.
(IPC::Arguments6::decode): Deleted.
(IPC::Arguments7::Arguments7): Deleted.
(IPC::Arguments7::encode): Deleted.
(IPC::Arguments7::decode): Deleted.
(IPC::Arguments8::Arguments8): Deleted.
(IPC::Arguments8::encode): Deleted.
(IPC::Arguments8::decode): Deleted.
(IPC::Arguments10::Arguments10): Deleted.
(IPC::Arguments10::encode): Deleted.
(IPC::Arguments10::decode): Deleted.
* Scripts/webkit2/LegacyMessages-expected.h:
* Scripts/webkit2/Messages-expected.h:
* Scripts/webkit2/messages.py: Clean up the code a bit.
(reply_parameter_type):
(arguments_type):
(reply_type):
(decode_type):
(arguments_type_old): Deleted.
(base_class): Deleted.
(delayed_reply_type): Deleted.

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

7 years agoDeduplicate LayerTreeContext
timothy_horton@apple.com [Wed, 16 Apr 2014 23:40:53 +0000 (23:40 +0000)]
Deduplicate LayerTreeContext
https://bugs.webkit.org/show_bug.cgi?id=131773

Reviewed by Simon Fraser.

There are three identical implementations, one for each platform, for no reason.

* CMakeLists.txt:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* Shared/LayerTreeContext.cpp: Renamed from Source/WebKit2/Shared/mac/LayerTreeContextMac.mm.
(WebKit::LayerTreeContext::LayerTreeContext):
(WebKit::LayerTreeContext::~LayerTreeContext):
(WebKit::LayerTreeContext::encode):
(WebKit::LayerTreeContext::decode):
(WebKit::LayerTreeContext::isEmpty):
(WebKit::operator==):
* Shared/LayerTreeContext.h:
(WebKit::operator!=): Deleted.
* Shared/efl/LayerTreeContextEfl.cpp: Removed.
* Shared/gtk/LayerTreeContextGtk.cpp: Removed.
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::initialize):

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

7 years agoAllocate the data section on the heap again for FTL on ARM64
fpizlo@apple.com [Wed, 16 Apr 2014 23:30:02 +0000 (23:30 +0000)]
Allocate the data section on the heap again for FTL on ARM64
https://bugs.webkit.org/show_bug.cgi?id=130156

Patch by Juergen Ributzka <juergen@apple.com> on 2014-04-16
Reviewed by Geoffrey Garen and Filip Pizlo.

* ftl/FTLCompile.cpp:
(JSC::FTL::mmAllocateDataSection):
* ftl/FTLDataSection.cpp:
(JSC::FTL::DataSection::DataSection):
(JSC::FTL::DataSection::~DataSection):
* ftl/FTLDataSection.h:

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

7 years agoCrash in CodeBlock::setOptimizationThresholdBasedOnCompilationResult() when the debug...
mark.lam@apple.com [Wed, 16 Apr 2014 23:07:49 +0000 (23:07 +0000)]
Crash in CodeBlock::setOptimizationThresholdBasedOnCompilationResult() when the debugger activates.
<https://webkit.org/b/131747>

Reviewed by Filip Pizlo.

When the debugger is about to activate (e.g. enter stepping mode), it first
waits for all DFG compilations to complete.  However, when the DFG completes,
if compilation is successful, it will install a new DFG codeBlock.  The
CodeBlock installation process is required to register codeBlocks with the
debugger.  Debugger::registerCodeBlock() will eventually call
CodeBlock::setSteppingMode() which may jettison the DFG codeBlock that we're
trying to install.  Thereafter, chaos ensues.

This jettison'ing only happens because the debugger currently set its
m_steppingMode flag before waiting for compilation to complete.  The fix is
simply to set that flag only after compilation is complete.

* debugger/Debugger.cpp:
(JSC::Debugger::setSteppingMode):
(JSC::Debugger::registerCodeBlock):

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

7 years agoVanish unnecessary includes from Shapes.{h|cpp}
zoltan@webkit.org [Wed, 16 Apr 2014 22:54:23 +0000 (22:54 +0000)]
Vanish unnecessary includes from Shapes.{h|cpp}
https://bugs.webkit.org/show_bug.cgi?id=131762

Reviewed by Andreas Kling.

No new tests, no behavior change.

* rendering/shapes/BoxShape.h:
* rendering/shapes/Shape.cpp:
* rendering/shapes/Shape.h:
* rendering/shapes/ShapeOutsideInfo.h:

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

7 years agoDiscern between NaNs that would be safe to tag and NaNs that need some purification...
fpizlo@apple.com [Wed, 16 Apr 2014 22:44:00 +0000 (22:44 +0000)]
Discern between NaNs that would be safe to tag and NaNs that need some purification before tagging
https://bugs.webkit.org/show_bug.cgi?id=131420

Reviewed by Oliver Hunt.

Rationalizes our handling of NaNs. We now have the notion of pureNaN(), or PNaN, which
replaces QNaN and represents a "safe" NaN for our tagging purposes. NaN purification now
goes through the purifyNaN() API.

SpeculatedType and its clients can now distinguish between a PureNaN and an ImpureNaN.

Prediction propagator is made slightly more cautious when dealing with NaNs. It doesn't
have to be too cautious since most prediction-based logic only cares about whether or not
a value could be an integer.

AI is made much more cautious when dealing with NaNs. We don't yet introduce ImpureNaN
anywhere in the compiler, but when we do, we ought to be able to trust AI to propagate it
soundly and precisely.

No performance change because this just unblocks
https://bugs.webkit.org/show_bug.cgi?id=131419.

* API/JSValueRef.cpp:
(JSValueMakeNumber):
(JSValueToNumber):
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/SpeculatedType.cpp:
(JSC::dumpSpeculation):
(JSC::speculationFromValue):
(JSC::typeOfDoubleSum):
(JSC::typeOfDoubleDifference):
(JSC::typeOfDoubleProduct):
(JSC::polluteDouble):
(JSC::typeOfDoubleQuotient):
(JSC::typeOfDoubleMinMax):
(JSC::typeOfDoubleNegation):
(JSC::typeOfDoubleAbs):
(JSC::typeOfDoubleFRound):
(JSC::typeOfDoubleBinaryOp):
(JSC::typeOfDoubleUnaryOp):
* bytecode/SpeculatedType.h:
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
* dfg/DFGCriticalEdgeBreakingPhase.cpp:
(JSC::DFG::CriticalEdgeBreakingPhase::breakCriticalEdge):
* dfg/DFGInPlaceAbstractState.cpp:
(JSC::DFG::InPlaceAbstractState::mergeStateAtTail):
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
(JSC::DFG::createPreHeader):
* dfg/DFGNode.h:
(JSC::DFG::BranchTarget::BranchTarget):
* dfg/DFGOSREntrypointCreationPhase.cpp:
(JSC::DFG::OSREntrypointCreationPhase::run):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::speculatedDoubleTypeForPrediction):
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateJSArray):
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::makePredictionForDoubleFormat):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::LowerDFGToLLVM::compileNewArrayWithSize):
(JSC::FTL::LowerDFGToLLVM::numberOrNotCellToInt32):
(JSC::FTL::LowerDFGToLLVM::allocateJSArray):
* ftl/FTLValueFormat.cpp:
(JSC::FTL::reboxAccordingToFormat):
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::purifyNaN):
(JSC::AssemblyHelpers::sanitizeDouble): Deleted.
* jit/AssemblyHelpers.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitFloatTypedArrayGetByVal):
* runtime/DateConstructor.cpp:
(JSC::constructDate):
* runtime/DateInstanceCache.h:
(JSC::DateInstanceData::DateInstanceData):
(JSC::DateInstanceCache::reset):
* runtime/ExceptionHelpers.cpp:
(JSC::TerminatedExecutionError::defaultValue):
* runtime/JSArray.cpp:
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::sortVector):
(JSC::JSArray::compactForSorting):
* runtime/JSArray.h:
(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized):
* runtime/JSCJSValue.cpp:
(JSC::JSValue::toNumberSlowCase):
* runtime/JSCJSValue.h:
* runtime/JSCJSValueInlines.h:
(JSC::jsNaN):
(JSC::JSValue::JSValue):
(JSC::JSValue::getPrimitiveNumber):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::parseInt):
(JSC::jsStrDecimalLiteral):
(JSC::toDouble):
(JSC::jsToNumber):
(JSC::parseFloat):
* runtime/JSObject.cpp:
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::ensureLengthSlow):
* runtime/MathObject.cpp:
(JSC::mathProtoFuncMax):
(JSC::mathProtoFuncMin):
* runtime/PureNaN.h: Added.
(JSC::pureNaN):
(JSC::isImpureNaN):
(JSC::purifyNaN):
* runtime/TypedArrayAdaptors.h:
(JSC::FloatTypedArrayAdaptor::toJSValue):

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

7 years agoDon't build LayerTreeHost on Mac (and clean it up)
timothy_horton@apple.com [Wed, 16 Apr 2014 22:39:47 +0000 (22:39 +0000)]
Don't build LayerTreeHost on Mac (and clean it up)
https://bugs.webkit.org/show_bug.cgi?id=131769

Reviewed by Simon Fraser.

* WebKit2.xcodeproj/project.pbxproj:
Don't include it in the project.

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
(WebKit::CoordinatedDrawingArea::updatePreferences):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updatePreferences):
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit::LayerTreeHost::setLayerHostingMode): Deleted.
(WebKit::LayerTreeHost::supportsAcceleratedCompositing): Deleted.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/ios/WebPageIOS.mm:
Get rid of LayerTreeHost::supportsAcceleratedCompositing, which always returns true everywhere.
Remove some LayerTreeHost.h includes.
Remove LayerTreeHost::setLayerHostingMode, which is PLATFORM(COCOA) and not needed.

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

7 years agoEnable system library calls in FTL for ARM64
fpizlo@apple.com [Wed, 16 Apr 2014 22:39:05 +0000 (22:39 +0000)]
Enable system library calls in FTL for ARM64
https://bugs.webkit.org/show_bug.cgi?id=130154

Patch by Juergen Ributzka <juergen@apple.com> on 2014-04-16
Reviewed by Geoffrey Garen and Filip Pizlo.

* ftl/FTLIntrinsicRepository.h:
* ftl/FTLOutput.h:
(JSC::FTL::Output::doubleRem):
(JSC::FTL::Output::doubleSin):
(JSC::FTL::Output::doubleCos):

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

7 years agoRevert direct caching of tagName and nodeName from r167383.
akling@apple.com [Wed, 16 Apr 2014 22:21:43 +0000 (22:21 +0000)]
Revert direct caching of tagName and nodeName from r167383.

Ryosuke tells me this is not entirely safe, will need to rethink.

* dom/Element.idl:
* dom/Node.idl:

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

7 years agoFailing to decode a layer tree commit message resulted in silent and mysterious failure
simon.fraser@apple.com [Wed, 16 Apr 2014 22:04:17 +0000 (22:04 +0000)]
Failing to decode a layer tree commit message resulted in silent and mysterious failure
https://bugs.webkit.org/show_bug.cgi?id=131766
<rdar://problem/16520894>

Reviewed by Sam Weinig.

If the message decode failed, we should have already marked the message as invalid.
Failing to do so indicates in a decode code coding error.

* Platform/IPC/HandleMessage.h:
(IPC::handleMessage):
(IPC::handleMessageVariadic):
(IPC::handleMessageDelayed):

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

7 years ago[Win] run-javascriptcore-tests fails to run.
commit-queue@webkit.org [Wed, 16 Apr 2014 21:58:23 +0000 (21:58 +0000)]
[Win] run-javascriptcore-tests fails to run.
https://bugs.webkit.org/show_bug.cgi?id=131761

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-04-16
Reviewed by Brent Fulgham.

* Scripts/build-jsc: For now, don't try to build bmalloc on Windows.

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

7 years agoMinor include sanity in WebPage.h
timothy_horton@apple.com [Wed, 16 Apr 2014 21:53:51 +0000 (21:53 +0000)]
Minor include sanity in WebPage.h
https://bugs.webkit.org/show_bug.cgi?id=131752

Reviewed by Simon Fraser.

* WebProcess/WebPage/WebPage.h:
Remove a bunch of unnecessary includes.
Un-indent some stuff.

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebPage/FindController.cpp:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/WebPage/mac/WebPageMac.mm:
Add back more specific includes, into implementation files.

* WebProcess/WebPage/WebUndoStep.cpp:
(WebKit::WebUndoStep::~WebUndoStep):
* WebProcess/WebPage/WebUndoStep.h:
Add an out-of-line destructor.

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

7 years agoImprove security mitigation added in webkit r94001.
pmolnar.u-szeged@partner.samsung.com [Wed, 16 Apr 2014 21:50:57 +0000 (21:50 +0000)]
Improve security mitigation added in webkit r94001.
We missed the case where attachLine was called when we already had an inline box wrapper.
https://bugs.webkit.org/show_bug.cgi?id=127285

Reviewed by Brent Fulgham.

Blink: https://src.chromium.org/viewvc/blink?revision=150697&view=revision
* rendering/RenderBox.cpp:
(WebCore::RenderBox::positionLineBox):
* rendering/RenderBox.h:
(WebCore::RenderBox::setInlineBoxWrapper):

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

7 years agoREGRESSION: PCE.js is 20x slower in WebKit2 because timers are throttled
barraclough@apple.com [Wed, 16 Apr 2014 21:34:35 +0000 (21:34 +0000)]
REGRESSION: PCE.js is 20x slower in WebKit2 because timers are throttled
https://bugs.webkit.org/show_bug.cgi?id=131189

Unreviewed rollout of r166754

This change is no longer necessary.

* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::connectToService):

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

7 years ago[GTK][CMAKE] build-webkit doesn't detect when the build fails
b.long@cablelabs.com [Wed, 16 Apr 2014 21:24:02 +0000 (21:24 +0000)]
[GTK][CMAKE] build-webkit doesn't detect when the build fails
https://bugs.webkit.org/show_bug.cgi?id=130148

Reviewed by Martin Robinson.

* Source/cmake/OptionsGTK.cmake: Replace CMake's automatic make -i with make -k, which still continues after errors, but correctly reports tha the build failed.

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

7 years agoFix CodeGenerator.pm to only write files if the generated content has changed
bjonesbe@adobe.com [Wed, 16 Apr 2014 21:14:22 +0000 (21:14 +0000)]
Fix CodeGenerator.pm to only write files if the generated content has changed
https://bugs.webkit.org/show_bug.cgi?id=131756

Reviewed by Sam Weinig.

To improve build speed, don't touch generated files unless the newly
generated content is actually different.

* bindings/scripts/CodeGenerator.pm:
(UpdateFile):

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

7 years agoAdd a way to cache never-changing IDL attributes in the wrapper.
akling@apple.com [Wed, 16 Apr 2014 21:07:49 +0000 (21:07 +0000)]
Add a way to cache never-changing IDL attributes in the wrapper.
<https://webkit.org/b/131759>

Some IDL attributes will always return the same value when queried
on an object, so let's have a way to avoid calling into C++ code
every time they are queried.

This patch adds a custom IDL thingy called "ReturnsCacheableValue"
which causes the code generator to emit code to cache the returned
value directly in the JS wrapper object.

Reviewed by Oliver Hunt.

* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):

    Add ReturnsCacheableValue custom attribute.

* dom/Element.idl:
* dom/Node.idl:

    Annotate some attributes that return fully cacheable values.

* bindings/scripts/test/*:

    Rebaseline.

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

7 years agoFix JSC Debug Regressions on Windows
commit-queue@webkit.org [Wed, 16 Apr 2014 20:54:43 +0000 (20:54 +0000)]
Fix JSC Debug Regressions on Windows
https://bugs.webkit.org/show_bug.cgi?id=131182

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-04-16
Reviewed by Brent Fulgham.

The cast static_cast<int64_t>(number) in JSValue::isMachineInt() can generate a floating point error,
and set the st floating point register tags, if the value of the number parameter is infinite.
If the st floating point register tags are not cleared, this can cause strange floating point behavior later on.
This can be avoided by checking for infinity first.

* runtime/JSCJSValueInlines.h:
(JSC::JSValue::isMachineInt): Avoid floating point error by checking for infinity first.
* runtime/Options.cpp:
(JSC::recomputeDependentOptions): Re-enable jit for Windows.

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

7 years agoProgressive JPEG outputScanlines() calls should handle failure
noel.gordon@gmail.com [Wed, 16 Apr 2014 20:43:12 +0000 (20:43 +0000)]
Progressive JPEG outputScanlines() calls should handle failure
https://bugs.webkit.org/show_bug.cgi?id=116701

Reviewed by Brent Fulgham.

outputScanlines() can fail and delete |this|. Copy the decoder pointer
member and use that copy to detect and handle the failure case.

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):

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

7 years agoSimple ES6 feature:Array.prototype.fill
oliver@apple.com [Wed, 16 Apr 2014 20:10:41 +0000 (20:10 +0000)]
Simple ES6 feature:Array.prototype.fill
https://bugs.webkit.org/show_bug.cgi?id=131703

Reviewed by David Hyatt.

Source/JavaScriptCore:
Add support for Array.prototype.fill

* builtins/Array.prototype.js:
(fill):
* runtime/ArrayPrototype.cpp:

LayoutTests:
Add tests.

* js/Object-getOwnPropertyNames-expected.txt:
* js/array-fill-expected.txt: Added.
* js/array-fill.html: Added.
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/array-fill.js: Added.

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

7 years agoUpdating tests after bug 131721, [GTK] Fix unused parameter warnings.
ap@apple.com [Wed, 16 Apr 2014 20:02:48 +0000 (20:02 +0000)]
Updating tests after bug 131721, [GTK] Fix unused parameter warnings.

* Scripts/webkit2/LegacyMessageReceiver-expected.cpp:
(WebKit::WebPage::didReceiveWebPageMessage):
(WebKit::WebPage::didReceiveSyncWebPageMessage):
* Scripts/webkit2/MessageReceiver-expected.cpp:
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):

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

7 years agoUpdate to pthread QoS SPI
barraclough@apple.com [Wed, 16 Apr 2014 19:57:02 +0000 (19:57 +0000)]
Update to pthread QoS SPI
https://bugs.webkit.org/show_bug.cgi?id=131753

Rubber stamped by Benjamin Poulain

* wtf/ThreadingPthreads.cpp:
(WTF::setCurrentThreadQOSUtility):

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

7 years ago[curl] Add WEB_TIMING support
commit-queue@webkit.org [Wed, 16 Apr 2014 19:54:03 +0000 (19:54 +0000)]
[curl] Add WEB_TIMING support
https://bugs.webkit.org/show_bug.cgi?id=127555

Patch by Robert Sipka <sipka@inf.u-szeged.hu> on 2014-04-16
Reviewed by Brent Fulgham.

Access timing information related to navigation.

* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::milisecondsSinceRequest):
(WebCore::calculateWebTimingInformations):
(WebCore::sockoptfunction):
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::dispatchSynchronousJob):
(WebCore::ResourceHandleManager::initializeHandle):

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

7 years agoCleanup header includes in ShapeOutsideInfo.h
zoltan@webkit.org [Wed, 16 Apr 2014 19:37:34 +0000 (19:37 +0000)]
Cleanup header includes in ShapeOutsideInfo.h
https://bugs.webkit.org/show_bug.cgi?id=131750

Reviewed by Antti Koivisto.

Make the build faster by removing unnecessary header includes.

No new tests, no behavior change.

* rendering/shapes/ShapeOutsideInfo.h:

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

7 years agoFix the iOS build.
simon.fraser@apple.com [Wed, 16 Apr 2014 19:12:57 +0000 (19:12 +0000)]
Fix the iOS build.

* platform/graphics/cg/BitmapImageCG.cpp:
(WebCore::BitmapImage::draw):

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

7 years agoRemove test results that match platform/mac results
ddkilzer@apple.com [Wed, 16 Apr 2014 19:01:00 +0000 (19:01 +0000)]
Remove test results that match platform/mac results

Found using this shell script:

$ for F in `find LayoutTests/platform/ios-sim -name \*-expected.txt`; do \
T=`echo $F | sed -e 's#platform/ios-sim/##'`; \
M=`echo $F | sed -e 's#platform/ios-sim/#platform/mac/#'`; \
ML=`echo $F | sed -e 's#platform/ios-sim/#platform/mac-mountainlion/#'`; \
if [ -f $M -a ! -f $ML -a -z "`diff -u $F $M 2> /dev/null`" ]; then echo $F; fi; \
done

* platform/ios-sim/fast/block/positioning/016-expected.txt: Removed.
* platform/ios-sim/fast/block/positioning/025-expected.txt: Removed.
* platform/ios-sim/fast/dom/icon-url-property-expected.txt: Removed.
* platform/ios-sim/fast/hidpi/focus-rings-expected.txt: Removed.
* platform/ios-sim/fast/multicol/shrink-to-column-height-for-pagination-expected.txt: Removed.
* platform/ios-sim/fast/preloader/document-write-2-expected.txt: Removed.
* platform/ios-sim/fast/preloader/script-expected.txt: Removed.
* platform/ios-sim/fast/writing-mode/broken-ideograph-small-caps-expected.txt: Removed.
* platform/ios-sim/fast/xsl/sort-locale-expected.txt: Removed.
* platform/ios-sim/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Removed.
* platform/ios-sim/sputnik/Unicode/Unicode_320/S7.6_A2.2_T2-expected.txt: Removed.
* platform/ios-sim/sputnik/Unicode/Unicode_320/S7.6_A5.2_T8-expected.txt: Removed.
* platform/ios-sim/webarchive/loading/mainresource-null-mimetype-crash-expected.txt: Removed.

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

7 years agoRemove test results that match top-level results
ddkilzer@apple.com [Wed, 16 Apr 2014 19:00:55 +0000 (19:00 +0000)]
Remove test results that match top-level results

Found using this shell script:

$ for F in `find LayoutTests/platform/ios-sim -name \*-expected.txt`; do \
T=`echo $F | sed -e 's#platform/ios-sim/##'`; \
M=`echo $F | sed -e 's#platform/ios-sim/#platform/mac/#'`; \
ML=`echo $F | sed -e 's#platform/ios-sim/#platform/mac-mountainlion/#'`; \
if [ ! -f $M -a ! -f $ML -a -f $T -a -z "`diff -u $F $T 2> /dev/null`" ]; then echo $F; fi; \
done

* platform/ios-sim/compositing/layer-creation/no-compositing-for-sticky-expected.txt: Removed.
* platform/ios-sim/editing/inserting/insert-3786362-fix-expected.txt: Removed.
* platform/ios-sim/editing/inserting/insert-3907422-fix-expected.txt: Removed.
* platform/ios-sim/editing/unsupported-content/table-delete-001-expected.txt: Removed.
* platform/ios-sim/editing/unsupported-content/table-delete-003-expected.txt: Removed.
* platform/ios-sim/fast/block/positioning/move-with-auto-width-expected.txt: Removed.
* platform/ios-sim/fast/canvas/2d.backingStorePixelRatio-expected.txt: Removed.
* platform/ios-sim/fast/canvas/2d.imageDataHD-expected.txt: Removed.
* platform/ios-sim/fast/canvas/canvas-fillPath-shadow-expected.txt: Removed.
* platform/ios-sim/fast/canvas/webgl/texture-npot-expected.txt: Removed.
* platform/ios-sim/fast/css/MarqueeLayoutTest-expected.txt: Removed.
* platform/ios-sim/fast/css/color-leakage-expected.txt: Removed.
* platform/ios-sim/fast/css/font-face-multiple-remote-sources-expected.txt: Removed.
* platform/ios-sim/fast/css/font-face-remote-expected.txt: Removed.
* platform/ios-sim/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/ios-sim/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/ios-sim/fast/css/nested-layers-with-hover-expected.txt: Removed.
* platform/ios-sim/fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1-expected.txt: Removed.
* platform/ios-sim/fast/dom/Window/window-postmessage-arrays-expected.txt: Removed.
* platform/ios-sim/fast/dom/constructed-objects-prototypes-expected.txt: Removed.
* platform/ios-sim/fast/dom/gc-10-expected.txt: Removed.
* platform/ios-sim/fast/dom/tabindex-clamp-expected.txt: Removed.
* platform/ios-sim/fast/dynamic/dirty-float-in-clean-line-expected.txt: Removed.
* platform/ios-sim/fast/events/pageshow-pagehide-on-back-cached-with-frames-expected.txt: Removed.
* platform/ios-sim/fast/forms/mailto/advanced-get-expected.txt: Removed.
* platform/ios-sim/fast/forms/mailto/advanced-put-expected.txt: Removed.
* platform/ios-sim/fast/forms/radio/indeterminate-radio-expected.txt: Removed.
* platform/ios-sim/fast/forms/select-script-onchange-expected.txt: Removed.
* platform/ios-sim/fast/forms/suggested-value-expected.txt: Removed.
* platform/ios-sim/fast/history/timed-refresh-in-cached-frame-expected.txt: Removed.
* platform/ios-sim/fast/lists/inline-before-content-after-list-marker-expected.txt: Removed.
* platform/ios-sim/fast/media/media-query-list-07-expected.txt: Removed.
* platform/ios-sim/fast/media/print-restores-previous-mediatype-expected.txt: Removed.
* platform/ios-sim/fast/multicol/span/before-child-anonymous-column-block-expected.txt: Removed.
* platform/ios-sim/fast/overflow/horizontal-scroll-after-back-expected.txt: Removed.
* platform/ios-sim/fast/overflow/scrollbar-restored-expected.txt: Removed.
* platform/ios-sim/fast/repaint/table-hover-on-link-expected.txt: Removed.
* platform/ios-sim/fast/repaint/table-section-repaint-expected.txt: Removed.
* platform/ios-sim/fast/ruby/floating-ruby-text-expected.txt: Removed.
* platform/ios-sim/fast/ruby/overhang-horizontal-expected.txt: Removed.
* platform/ios-sim/fast/ruby/overhang-horizontal-no-overlap1-expected.txt: Removed.
* platform/ios-sim/fast/ruby/overhang-horizontal-no-overlap2-expected.txt: Removed.
* platform/ios-sim/fast/ruby/positioned-ruby-text-expected.txt: Removed.
* platform/ios-sim/fast/ruby/ruby-text-before-child-split-expected.txt: Removed.
* platform/ios-sim/fast/table/empty-row-crash-expected.txt: Removed.
* platform/ios-sim/fast/table/empty-section-crash-expected.txt: Removed.
* platform/ios-sim/fast/table/inline-form-assert-expected.txt: Removed.
* platform/ios-sim/fast/table/max-width-integer-overflow-expected.txt: Removed.
* platform/ios-sim/fast/table/table-row-split2-expected.txt: Removed.
* platform/ios-sim/fast/table/table-section-split2-expected.txt: Removed.
* platform/ios-sim/fast/table/table-split-expected.txt: Removed.
* platform/ios-sim/fast/table/table-split2-expected.txt: Removed.
* platform/ios-sim/fast/text/apply-start-width-after-skipped-text-expected.txt: Removed.
* platform/ios-sim/fast/text/justify-padding-distribution-expected.txt: Removed.
* platform/ios-sim/fast/text/selection-painted-separately-expected.txt: Removed.
* platform/ios-sim/fast/text/setData-dirty-lines-expected.txt: Removed.
* platform/ios-sim/fast/text/soft-hyphen-2-expected.txt: Removed.
* platform/ios-sim/fast/text/splitText-dirty-lines-expected.txt: Removed.
* platform/ios-sim/fast/transforms/shadows-expected.txt: Removed.
* platform/ios-sim/fast/workers/worker-close-more-expected.txt: Removed.
* platform/ios-sim/fast/writing-mode/table-percent-width-quirk-expected.txt: Removed.
* platform/ios-sim/fast/xmlhttprequest/xmlhttprequest-recursive-sync-event-expected.txt: Removed.
* platform/ios-sim/http/tests/appcache/abort-cache-onchecking-manifest-404-expected.txt: Removed.
* platform/ios-sim/http/tests/cookies/simple-cookies-expired-expected.txt: Removed.
* platform/ios-sim/http/tests/cookies/simple-cookies-max-age-expected.txt: Removed.
* platform/ios-sim/http/tests/cookies/single-quoted-value-expected.txt: Removed.
* platform/ios-sim/http/tests/misc/empty-urls-expected.txt: Removed.
* platform/ios-sim/http/tests/multipart/load-last-non-html-frame-expected.txt: Removed.
* platform/ios-sim/http/tests/navigation/post-goback1-expected.txt: Removed.
* platform/ios-sim/http/tests/security/contentSecurityPolicy/connect-src-websocket-blocked-expected.txt: Removed.
* platform/ios-sim/http/tests/security/contentSecurityPolicy/media-src-blocked-expected.txt: Removed.
* platform/ios-sim/http/tests/security/local-video-poster-from-remote-expected.txt: Removed.
* platform/ios-sim/http/tests/security/sandboxed-iframe-modify-self-expected.txt: Removed.
* platform/ios-sim/http/tests/security/video-poster-cross-origin-crash-expected.txt: Removed.
* platform/ios-sim/http/tests/xmlhttprequest/chunked-progress-event-expectedLength-expected.txt: Removed.
* platform/ios-sim/http/tests/xmlhttprequest/request-encoding2-expected.txt: Removed.
* platform/ios-sim/http/tests/xmlhttprequest/upload-onloadend-event-after-load-expected.txt: Removed.
* platform/ios-sim/http/tests/xmlhttprequest/upload-onprogress-event-expected.txt: Removed.
* platform/ios-sim/http/tests/xmlhttprequest/upload-progress-events-expected.txt: Removed.
* platform/ios-sim/media/csp-blocks-video-expected.txt: Removed.
* platform/ios-sim/sputnik/Unicode/Unicode_510/S7.6_A3.1-expected.txt: Removed.
* platform/ios-sim/sputnik/Unicode/Unicode_510/S7.6_A3.2-expected.txt: Removed.
* platform/ios-sim/sputnik/Unicode/Unicode_510/S7.6_A5.3_T1-expected.txt: Removed.
* platform/ios-sim/sputnik/Unicode/Unicode_510/S7.6_A5.3_T2-expected.txt: Removed.
* platform/ios-sim/svg/as-image/image-respects-pageScaleFactor-change-expected.txt: Removed.
* platform/ios-sim/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/ios-sim/svg/custom/baseval-animval-equality-expected.txt: Removed.
* platform/ios-sim/svg/custom/dasharrayOrigin-expected.txt: Removed.
* platform/ios-sim/svg/custom/getSubStringLength-expected.txt: Removed.
* platform/ios-sim/svg/custom/pattern-scaling-expected.txt: Removed.
* platform/ios-sim/svg/custom/svg-features-expected.txt: Removed.
* platform/ios-sim/svg/dom/altGlyph-dom-expected.txt: Removed.
* platform/ios-sim/svg/foreignObject/fO-parent-display-none-expected.txt: Removed.
* platform/ios-sim/svg/foreignObject/fO-parent-display-none-with-relative-pos-content-expected.txt: Removed.
* platform/ios-sim/svg/foreignObject/fO-parent-of-parent-display-none-expected.txt: Removed.
* platform/ios-sim/svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content-expected.txt: Removed.
* platform/ios-sim/svg/hittest/svg-ellipse-non-scale-stroke-expected.txt: Removed.

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

7 years ago<http://webkit.org/b/129171> Rebaseline LayoutTests for iOS
ddkilzer@apple.com [Wed, 16 Apr 2014 19:00:13 +0000 (19:00 +0000)]
<webkit.org/b/129171> Rebaseline LayoutTests for iOS

3206 files changed, 65535 insertions(+), 39972 deletions(-)

* platform/ios-sim/Skipped: Clean up old items.  Skip tests that
time out due to notifyDone() not being called.

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

7 years agoUpstream iOS layout test results
ddkilzer@apple.com [Wed, 16 Apr 2014 18:56:51 +0000 (18:56 +0000)]
Upstream iOS layout test results

7354 files changed, 367781 insertions(+)

* platform/ios-sim: Add.

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

7 years ago[Win] Pass default parameters to cygwin setup wizard
agomez@igalia.com [Wed, 16 Apr 2014 18:51:56 +0000 (18:51 +0000)]
[Win] Pass default parameters to cygwin setup wizard
https://bugs.webkit.org/show_bug.cgi?id=131361

Reviewed by Brent Fulgham.

Added some parameters to the cygwin setup wizard so the user
doesn't really have to do any interaction.

* CygwinDownloader/cygwin-downloader.py:
* CygwinDownloader/cygwin-downloader.zip:

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

7 years agoRename LayoutTests/platformm/iphone-simulator => ios-sim
ddkilzer@apple.com [Wed, 16 Apr 2014 18:51:49 +0000 (18:51 +0000)]
Rename LayoutTests/platformm/iphone-simulator => ios-sim

* platform/ios-sim: Renamed from LayoutTests/platform/iphone-simulator.

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

7 years agoDataTransfer should cache its FileList
ap@apple.com [Wed, 16 Apr 2014 18:49:39 +0000 (18:49 +0000)]
DataTransfer should cache its FileList
https://bugs.webkit.org/show_bug.cgi?id=131694

Reviewed by Darin Adler.

Source/WebCore:
Test: fast/events/data-transfer-files-attribute-identity.html

* bindings/js/SerializedScriptValue.cpp: (WebCore::CloneDeserializer::readTerminal):
Switched to a new FileList constructor, CloneDeserializer doesn't really need to modify
the FileList with append().

* dom/DataTransfer.h:
* dom/DataTransfer.cpp:
(WebCore::DataTransfer::types): Added a FIXME.
(WebCore::DataTransfer::files): Changed to reuse a cached FileList. It's currently
easy, because we don't support DataTransferItemList. Once we do, making any changes
through it will also require updating the FileList in a way that doesn't replace
File objects for unchanged files.

* fileapi/FileList.h:
(WebCore::FileList::create):
(WebCore::FileList::isEmpty):
(WebCore::FileList::FileList):
(WebCore::FileList::append):
(WebCore::FileList::clear):
Made non-const functions private, because neither DataTransfer nor FileInputType
expect the list to be modified without their knowledge. Added a new Vector based
constructor so that a FileList could be created without the use of append().

* html/FileInputType.cpp: (WebCore::FileInputType::createFileList): Simplified
the code a little bit. FileInputType still needs to modify the list for clear(),
but doesn't need to add to it dynamically - unlike with DataTransfer, it's expected
to create a new FileList when it's modified.

LayoutTests:
* fast/events/data-transfer-files-attribute-identity-expected.txt: Added.
* fast/events/data-transfer-files-attribute-identity.html: Added.

* platform/wk2/TestExpectations: Skipped the test, because WKTR doesn't support
file dragging yet.

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

7 years agoRemove fast/parser/parser-yield-timing.html from skipped list
zoltan@webkit.org [Wed, 16 Apr 2014 18:32:18 +0000 (18:32 +0000)]
Remove fast/parser/parser-yield-timing.html from skipped list
https://bugs.webkit.org/show_bug.cgi?id=131749

Reviewed by Darin Adler.

The test was originally skipped in Bug 89812 due to flakiness on Chromium
debug bots. I run the tests with huge iterations and I don't see
flakiness on Mavericks release/debug. Let's remove from skipped for now.

* platform/mac/TestExpectations:

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

7 years agoRemove references to Leopard and Snow Leopard from Windows TestExpectations
bjonesbe@adobe.com [Wed, 16 Apr 2014 18:16:54 +0000 (18:16 +0000)]
Remove references to Leopard and Snow Leopard from Windows TestExpectations

Filed new bugs to track each of these tests, so someone with a windows
build can try and see if the tests still fail.

Unreviewed.

* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

7 years ago[Win] Eliminate use of deleteAllValues in Windows Files
bfulgham@apple.com [Wed, 16 Apr 2014 18:15:04 +0000 (18:15 +0000)]
[Win] Eliminate use of deleteAllValues in Windows Files
https://bugs.webkit.org/show_bug.cgi?id=131631

Reviewed by Darin Adler.

Source/WebCore:
Update to use std::unique_ptr for object lifetime. Get rid of
deleteAllValues now that it is no loner needed. Use ranged for
loops where possible.

* platform/win/WCDataObject.cpp:
(WebCore::WCEnumFormatEtc::WCEnumFormatEtc):
(WebCore::WCDataObject::~WCDataObject):
(WebCore::WCDataObject::GetData):
(WebCore::WCDataObject::QueryGetData):
(WebCore::WCDataObject::SetData):
(WebCore::WCDataObject::clearData):
* platform/win/WCDataObject.h:

Tools:
Switch to std::unique_ptr for memory lifetime. Get rid of
deleteAllValues now that it is no longer needed. Use ranged
for loops where possible.

* DumpRenderTree/win/DRTDataObject.cpp:
(WCEnumFormatEtc::WCEnumFormatEtc):
(DRTDataObject::~DRTDataObject):
(DRTDataObject::GetData):
(DRTDataObject::QueryGetData):
(DRTDataObject::SetData):
(DRTDataObject::clearData):
* DumpRenderTree/win/DRTDataObject.h:
* DumpRenderTree/win/UIDelegate.cpp:
(DRTUndoObject::DRTUndoObject):
(DRTUndoObject::~DRTUndoObject):
(DRTUndoStack::~DRTUndoStack):
(DRTUndoStack::clear):
(DRTUndoStack::pop):
(DRTUndoManager::DRTUndoManager):
(DRTUndoManager::redo):
(DRTUndoManager::undo):
(UIDelegate::UIDelegate):
(UIDelegate::resetUndoManager):
* DumpRenderTree/win/UIDelegate.h:

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

7 years ago[WebKit] Cleanup the build from uninitialized variable in JavaScriptCore
mhahnenberg@apple.com [Wed, 16 Apr 2014 18:09:56 +0000 (18:09 +0000)]
[WebKit] Cleanup the build from uninitialized variable in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=131728

Reviewed by Darin Adler.

* runtime/JSObject.cpp:
(JSC::JSObject::genericConvertDoubleToContiguous): Add a RELEASE_ASSERT on the
path we expect to never take. Also shut up confused compilers about uninitialized things.

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

7 years agoMake Windows fail with a link error so I know what the new symbol is.
simon.fraser@apple.com [Wed, 16 Apr 2014 18:06:13 +0000 (18:06 +0000)]
Make Windows fail with a link error so I know what the new symbol is.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

7 years ago[mac][wk2] REGRESSION (Tiled Drawing): fast/layers/no-clipping-overflow-hidden-added...
abucur@adobe.com [Wed, 16 Apr 2014 18:05:44 +0000 (18:05 +0000)]
[mac][wk2] REGRESSION (Tiled Drawing): fast/layers/no-clipping-overflow-hidden-added-after-transform.html fails with tiled drawing
https://bugs.webkit.org/show_bug.cgi?id=122238

Unreviewed. The test passes now.

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

7 years agoAX: Accessing a table cell with an invalid column header crashes
cfleizach@apple.com [Wed, 16 Apr 2014 18:04:43 +0000 (18:04 +0000)]
AX: Accessing a table cell with an invalid column header crashes
https://bugs.webkit.org/show_bug.cgi?id=131719

Reviewed by Darin Adler.

If no tableCell is available as a column/row header, then do not continue processing.

Test: accessibility/table-missing-column-header-crash.html

* accessibility/AccessibilityTableCell.cpp:
(WebCore::AccessibilityTableCell::columnHeaders):
(WebCore::AccessibilityTableCell::rowHeaders):

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

7 years ago[GTK] Fix unused parameter warnings
b.long@cablelabs.com [Wed, 16 Apr 2014 18:00:24 +0000 (18:00 +0000)]
[GTK] Fix unused parameter warnings
https://bugs.webkit.org/show_bug.cgi?id=131721

Reviewed by Darin Adler.

Source/WebCore:
* bindings/js/JSMediaStreamCapabilitiesCustom.cpp:
(WebCore::toJS): Remove unused 'exec' parameter.

Source/WebKit2:
* Scripts/webkit2/messages.py:
(generate_message_handler): Add UNUSED_PARAM() for a couple parameters which aren't always used.
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<LinearTimingFunction>::decode): Remove unused parameters.
* WebProcess/InjectedBundle/APIInjectedBundleFormClient.h:
(API::InjectedBundle::FormClient::textDidChangeInTextField): Same.
(API::InjectedBundle::FormClient::willSubmitForm): Same.
(API::InjectedBundle::FormClient::willSendSubmitEvent): Same.
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveSyncMessage): Same.

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

7 years ago[GTK] Unreviewed GTK gardening.
commit-queue@webkit.org [Wed, 16 Apr 2014 17:58:52 +0000 (17:58 +0000)]
[GTK] Unreviewed GTK gardening.

Update list of skipped unit tests:

  Skip test: WebKit2Gtk/TestWebKitWebView:/webkit2/WebKitWebView/page-visibility

  Unskip tests: WebKit2/TestWebKit2:WebKit2.ResizeReversePaginatedWebView
  and WebKit2/TestWebKit2:WebKit2.ScrollPinningBehaviors

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-04-16

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

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

7 years agoAccidentally included some style-checker-testing changes in the last commit.
timothy_horton@apple.com [Wed, 16 Apr 2014 17:58:52 +0000 (17:58 +0000)]
Accidentally included some style-checker-testing changes in the last commit.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::attemptToUnlockPDF):
(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors):

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

7 years agoFix some style checker complaints in PDFPlugin
timothy_horton@apple.com [Wed, 16 Apr 2014 17:54:50 +0000 (17:54 +0000)]
Fix some style checker complaints in PDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=131706

Reviewed by Darin Adler.

* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:]):
(-[WKPDFPluginAccessibilityObject accessibilityAttributeValue:forParameter:]):
(-[WKPDFPluginAccessibilityObject accessibilityAttributeNames]):
(WebKit::PDFPlugin::attemptToUnlockPDF):
(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors):
(WebKit::PDFPlugin::isEditingCommandEnabled):
(WebKit::PDFPlugin::nextMatchForString):
(WebKit::PDFPlugin::handleWheelEvent):
(WebKit::PDFPlugin::liveData):

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

7 years agoConvert the boolean param of Image::startAnimation() to an enum
simon.fraser@apple.com [Wed, 16 Apr 2014 17:50:57 +0000 (17:50 +0000)]
Convert the boolean param of Image::startAnimation() to an enum
https://bugs.webkit.org/show_bug.cgi?id=131742

Reviewed by Tim Horton.

Use an enum to make the code more readable.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::startAnimation):
* platform/graphics/BitmapImage.h:
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
* platform/graphics/Image.h:
(WebCore::Image::startAnimation):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::startAnimation):
* svg/graphics/SVGImage.h:

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

7 years agoWTF should have an optional mbmalloc target so we can benchmark FastMalloc
ggaren@apple.com [Wed, 16 Apr 2014 17:48:56 +0000 (17:48 +0000)]
WTF should have an optional mbmalloc target so we can benchmark FastMalloc
https://bugs.webkit.org/show_bug.cgi?id=131662

Reviewed by Darin Adler.

* WTF.xcodeproj/project.pbxproj: Added the target.
* wtf/mbmalloc.cpp: Added. Implements the libmbmalloc.dylib API required
by MallocBench.

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

7 years agoUnreviewed, ARMv7 build fix after r167336.
fpizlo@apple.com [Wed, 16 Apr 2014 17:48:22 +0000 (17:48 +0000)]
Unreviewed, ARMv7 build fix after r167336.

* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::branchAdd32):

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

7 years agoMake sure to skip the RenderMultiColumnFlowThread when resolving percentage heights...
hyatt@apple.com [Wed, 16 Apr 2014 17:36:56 +0000 (17:36 +0000)]
Make sure to skip the RenderMultiColumnFlowThread when resolving percentage heights inside columns against
containing blocks. The flow thread's auto height should not interfere if a fixed height is specified on
an ancestor.

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

Reviewed by Simon Fraser.

Source/WebCore:
Added fast/multicol/percent-height.html.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::skipContainingBlockForPercentHeightCalculation):
Add an isInFlowRenderFlowThread check so that we skip those blocks and don't consider them at all
when resolving percentage heights.

LayoutTests:
* fast/multicol/percent-height-expected.html: Added.
* fast/multicol/percent-height.html: Added.

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

7 years ago[WinCairo][cURL] Build fix for WinCairo build with USE(CURL).
commit-queue@webkit.org [Wed, 16 Apr 2014 17:24:10 +0000 (17:24 +0000)]
[WinCairo][cURL] Build fix for WinCairo build with USE(CURL).
https://bugs.webkit.org/show_bug.cgi?id=131614

Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2014-04-16
Reviewed by Brent Fulgham.

Build fix, no new tests needed.

* platform/network/curl/CurlCacheEntry.cpp:
(WebCore::CurlCacheEntry::loadResponseHeaders):
* platform/network/curl/CurlCacheManager.cpp:
(WebCore::CurlCacheManager::loadIndex):
* platform/network/soup/ResourceError.h:
* platform/network/soup/SocketStreamHandle.h:

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

7 years agoASSERTION FAILED: x2 >= x1 in WebCore::RenderObject::drawLineForBoxSide
commit-queue@webkit.org [Wed, 16 Apr 2014 17:19:23 +0000 (17:19 +0000)]
ASSERTION FAILED: x2 >= x1 in WebCore::RenderObject::drawLineForBoxSide
https://bugs.webkit.org/show_bug.cgi?id=127835

Source/WebCore:
In some cases when a negative margin and a positive padding are applied
together to the right and/or left side of the box, the logical width of
the borders can be set to a negative value, making the assertion fire.
The fix checks if the width or height of the box is negative, and if so,
it will not display the borders and shadows of the box.

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-04-16
Reviewed by Darin Adler.

Test: fast/css/padding-margin-negative-border.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBorder):

LayoutTests:
Added test demonstrates four cases:
Test #1: Negative upper margin + positive upper padding
Test #2: Negative right margin + positive right padding (used to fail)
Test #3: Negative bottom margin + positive bottom padding
Test #4: Negative left margin + positive left padding (used to fail)

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-04-16
Reviewed by Darin Adler.

* fast/css/padding-margin-negative-border-expected.html: Added.
* fast/css/padding-margin-negative-border.html: Added.

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

7 years agocheck-webkit-style doesn't check code style in .mm or .m files
timothy_horton@apple.com [Wed, 16 Apr 2014 17:17:11 +0000 (17:17 +0000)]
check-webkit-style doesn't check code style in .mm or .m files
https://bugs.webkit.org/show_bug.cgi?id=131708

Reviewed by Darin Adler.

* Scripts/webkitpy/style/checker.py:
* Scripts/webkitpy/style/checker_unittest.py:
(CheckerDispatcherDispatchTest.test_cpp_paths):
(CheckerDispatcherDispatchTest.test_text_paths):
Check .mm and .m files as C++.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing):
Add an override for our ordinary "missing spaces around =" for @synthesize,
which should look like "@synthesize propertyName=_varName;"

Add an override for "missing space before {" for blocks' "^{".

Don't follow the "extra space before [" rule for Objective-C, because
it breaks this rule in a multitude of ways because of method calls.

(check_braces):
Don't complain about { not being on the end of the previous line if
the previous line starts with "- (" or "+ (", which would indicate a
Objective-C method definition.

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

7 years ago[MSE] Seeks into buffered ranges will never complete.
jer.noble@apple.com [Wed, 16 Apr 2014 16:52:31 +0000 (16:52 +0000)]
[MSE] Seeks into buffered ranges will never complete.
https://bugs.webkit.org/show_bug.cgi?id=131717

Reviewed by Eric Carlson.

Source/WebCore:
Test: media/media-source/media-source-seek-complete.html

Run the SourceBuffer Monitoring step after initiating a seek.

* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):

LayoutTests:
* media/media-source/media-source-seek-complete-expected.txt: Added.
* media/media-source/media-source-seek-complete.html: Added.

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

7 years agoMake Vector::takeLast work with move-only types (and optimize for types where move...
darin@apple.com [Wed, 16 Apr 2014 16:51:17 +0000 (16:51 +0000)]
Make Vector::takeLast work with move-only types (and optimize for types where move is faster)
https://bugs.webkit.org/show_bug.cgi?id=131735

Reviewed by Alexey Proskuryakov.

Source/WTF:
* wtf/Vector.h:
(WTF::Vector::takeLast): Added a missing std::move. All the other take functions have it.

Tools:
* TestWebKitAPI/Tests/WTF/Vector.cpp: Added a test for Vector::takeLast with move only types.
Fixed invocations of EXPECT macros so the expected value is on the left, and the test result
is on the right. This can be confusing since our JavaScript test framework does it the opposite
way, but gtest works better this way.

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

7 years agoUnreviewed, ARM64 buildfix after r167336.
rgabor@webkit.org [Wed, 16 Apr 2014 14:24:51 +0000 (14:24 +0000)]
Unreviewed, ARM64 buildfix after r167336.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::branchAdd32): Add missing function.

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

7 years ago[EFL] Cleanup the build from unused parameters in WebKit-efl.
commit-queue@webkit.org [Wed, 16 Apr 2014 12:25:39 +0000 (12:25 +0000)]
[EFL] Cleanup the build from unused parameters in WebKit-efl.
https://bugs.webkit.org/show_bug.cgi?id=131677.

Patch by Jeongeun Kim <je_julie.kim@samsung.com> on 2014-04-16
Reviewed by Gyuyoung Kim.

Changed ASSERT to ASSERT_UNUSED if it's just used for ASSERT.

* ewk/ewk_view.cpp:
(ewk_view_scroll):

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

7 years agoUnreviewed EFL gardening. Some test modules come to crash since buildbot uses
gyuyoung.kim@samsung.com [Wed, 16 Apr 2014 11:26:55 +0000 (11:26 +0000)]
Unreviewed EFL gardening. Some test modules come to crash since buildbot uses
Ubuntu 13.10. Skip those crash modules for now.

* platform/efl-wk2/TestExpectations:

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

7 years agoREGRESSION(r166779): [GTK] Printing doesn't work since r166779
carlosgc@webkit.org [Wed, 16 Apr 2014 10:19:59 +0000 (10:19 +0000)]
REGRESSION(r166779): [GTK] Printing doesn't work since r166779
https://bugs.webkit.org/show_bug.cgi?id=131725

Reviewed by Philippe Normand.

* Source/cmake/OptionsGTK.cmake: Check GTK_UNIX_PRINT_FOUND
instead of GTK_UNIX_PRINTING_FOUND and set the macro
HAVE_GTK_UNIX_PRINTING to 1 when found.

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

7 years ago[Cocoa] Add a form delegate method corresponding to willSubmitForm
mitz@apple.com [Wed, 16 Apr 2014 05:16:36 +0000 (05:16 +0000)]
[Cocoa] Add a form delegate method corresponding to willSubmitForm
https://bugs.webkit.org/show_bug.cgi?id=131718

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setFormDelegate:]): Changed to define and create a FormClient (which derives
from API::FormClient and messages a delegate), and set it as the form client.

* UIProcess/API/Cocoa/_WKFormDelegate.h: Declared new delegate method.

* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Added a
variant of willSubmitForm that returs a user object to pass to the delegate in the UI
process, giving it a temporary name with “new”.

* WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Changed willSubmitForm()
to check for the new bundle delegate method first and encode the user object as user data.
Moved the encoding of an NSObject <NSSecureCoding> as user data into a helper function.

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

7 years ago[EFL] Fix problems with the pixel dump.
commit-queue@webkit.org [Wed, 16 Apr 2014 03:45:28 +0000 (03:45 +0000)]
[EFL] Fix problems with the pixel dump.
https://bugs.webkit.org/show_bug.cgi?id=131265

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-04-15
Reviewed by Gyuyoung Kim.

Painting and compositing paths of WebKit-EFL were totally modified from r166768.
However pixel dump codes still call deprecated functions like ewk_view_paint(),
which causes that nothing is drawn.

This patch adds new member functions to AcceleratedCompositingContext to support pixel dump.
One of new functions is AcceleratedCompositingContext::extractImageData(),
which replaces deprecated function calls. Besides the extractImageData() is invoked by
ewk_view_screenshot_contents_get() in order to take the visible content displayed on the EFL webview.

Source/WebCore:
* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::flipImageSurfaceVertically): Flip pixel data of given cairo_surface_t vertically up/down.
Whereas Cairo uses the top-left corner as being 0,0 of the coordinate system,
OpenGL uses the bottom-left corner being 0,0.
So we need to vertically flip resultant images taken by glReadPixels().
* platform/graphics/cairo/CairoUtilities.h:

Source/WebKit/efl:
* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:
(WebCore::AcceleratedCompositingContext::AcceleratedCompositingContext):
Create TextureMapper with a proper backend.
(WebCore::AcceleratedCompositingContext::flushPendingLayerChanges):
Revise a null check for m_rootLayer.
(WebCore::AcceleratedCompositingContext::paintToGraphicsContext):
Remove a creation check for TextureMapperGL.
(WebCore::AcceleratedCompositingContext::paintToCurrentGLContext):
Ditto.
(WebCore::AcceleratedCompositingContext::extractImageData):
Extract image data from the view and copy it to given Evas_Object.
(WebCore::AcceleratedCompositingContext::getImageData):
Get image data from the view and return it as cairo_surface_t on software mode.
(WebCore::AcceleratedCompositingContext::getImageDataGL):
Get image data from the view and return it as cairo_surface_t on GL mode.
* WebCoreSupport/AcceleratedCompositingContextEfl.h:
* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::forcePaint): Repaint the entire webview before pixel dump.
* WebCoreSupport/DumpRenderTreeSupportEfl.h:
* ewk/ewk_view.cpp:
(ewk_view_mark_for_sync): Remove an unnecessary line.
(ewk_view_force_paint): Call flushAndRenderLayers().
(ewk_view_screenshot_contents_get): Remove 'scale' parameter and replace ewk_view_paint()
with AcceleratedCompositingContext::extractImageData().
* ewk/ewk_view.h:
* ewk/ewk_view_private.h:
* tests/test_ewk_view.cpp:
(TEST_F):

Tools:
* DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
(createBitmapContextFromWebView): Add to call DumpRenderTreeSupportEfl::forcePaint().

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

7 years agoUnreviewed, add the obvious thing that marks MakeRope as exiting since it can exit.
fpizlo@apple.com [Wed, 16 Apr 2014 02:42:22 +0000 (02:42 +0000)]
Unreviewed, add the obvious thing that marks MakeRope as exiting since it can exit.

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

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

7 years agoMake page overlay functionality working on coordinated graphics.
commit-queue@webkit.org [Wed, 16 Apr 2014 02:04:01 +0000 (02:04 +0000)]
Make page overlay functionality working on coordinated graphics.
https://bugs.webkit.org/show_bug.cgi?id=131425

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-04-15
Reviewed by Darin Adler.

Page overlay functionality did not work on coordinated graphics since r166975.
This patch removes deprecated code related to the PageOverlay GraphicsLayer management.
and makes CoordinatedLayerTreeHost use PageOverlayController.

Source/WebCore:
* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::setRootCompositingLayer):
(WebCore::CompositingCoordinator::flushPendingLayerChanges):
* platform/graphics/texmap/coordinated/CompositingCoordinator.h:

Source/WebKit2:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.cpp:
(WebKit::CoordinatedDrawingArea::mainFrameContentSizeChanged):
(WebKit::CoordinatedDrawingArea::didInstallPageOverlay): Deleted.
(WebKit::CoordinatedDrawingArea::didUninstallPageOverlay): Deleted.
(WebKit::CoordinatedDrawingArea::setPageOverlayNeedsDisplay): Deleted.
(WebKit::CoordinatedDrawingArea::setPageOverlayOpacity): Deleted.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedDrawingArea.h:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
(WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
(WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
(WebKit::CoordinatedLayerTreeHost::didInstallPageOverlay): Deleted.
(WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay): Deleted.
(WebKit::CoordinatedLayerTreeHost::setPageOverlayNeedsDisplay): Deleted.
(WebKit::CoordinatedLayerTreeHost::setPageOverlayOpacity): Deleted.
(WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer): Deleted.
(WebKit::CoordinatedLayerTreeHost::destroyPageOverlayLayer): Deleted.
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit::LayerTreeHost::didInstallPageOverlay):
(WebKit::LayerTreeHost::didUninstallPageOverlay):
(WebKit::LayerTreeHost::setPageOverlayNeedsDisplay):

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

7 years agoSnapshotted plugins may need to be restarted if style properties are changed after...
roger_fong@apple.com [Wed, 16 Apr 2014 00:26:11 +0000 (00:26 +0000)]
Snapshotted plugins may need to be restarted if style properties are changed after initial load of plugin.
https://bugs.webkit.org/show_bug.cgi?id=131553.
<rdar://problem/15443375>

Reviewed by Timothy Horton.

Test: plugins/snapshotting/set-plugin-size-to-tiny.html

When updating embedded objects during our post layout checks, check for certain style changes
that may result in the plugin needing to be restarted.

* html/HTMLPlugInImageElement.h:
Add m_plugInDimensionsSpecified field to keep track of whether or not dimensions on the plugin’s renderer have been specified.
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
Initialize m_plugInDimensionsSpecified.
(WebCore::isSmallerThanTinySizingThreshold):
Refactoring, move check for whether or not plugin is smaller than the tiny plugin size threshold to this method.
(WebCore::HTMLPlugInImageElement::isTopLevelFullPage):
Refactoring, move check for whether or not plugin is top level full page to this method.
(WebCore::HTMLPlugInImageElement::checkSnapshotStatus):
Use refactored checks here as well to determine whether or not we need to restart the snapshotted plugin.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Use refactored checks.
If plugin dimensions were specified, set m_plugInDimensionsSpecified to true.
* platform/mac-wk2/plugins/snapshotting/set-plugin-size-to-tiny-expected.txt: Added.
* plugins/snapshotting/set-plugin-size-to-tiny.html: Added.

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

7 years ago[iOS WebKit2] Listen for system memory pressure notifications.
akling@apple.com [Wed, 16 Apr 2014 00:01:33 +0000 (00:01 +0000)]
[iOS WebKit2] Listen for system memory pressure notifications.
<https://webkit.org/b/131653>
<rdar://problem/16208123>

Reviewed by Antti Koivisto.

* platform/cocoa/MemoryPressureHandlerCocoa.mm:
(WebCore::MemoryPressureHandler::install):

    Use the right invocation to summon the memory pressure handler.

(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOff):
(WebCore::MemoryPressureHandler::respondToMemoryPressure):

    Make stubbed out functions !PLATFORM(COCOA)

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

7 years agoUpdate LLVM binary drops for Mountain Lion to LLVM r206312.
fpizlo@apple.com [Wed, 16 Apr 2014 00:01:06 +0000 (00:01 +0000)]
Update LLVM binary drops for Mountain Lion to LLVM r206312.

Rubber stamped by Geoffrey Garen.

* LLVMIncludesMountainLion.tar.bz2:
* LLVMLibrariesMountainLion.tar.bz2:

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

7 years agocompileMakeRope does not emit necessary bounds checks
fpizlo@apple.com [Tue, 15 Apr 2014 23:33:11 +0000 (23:33 +0000)]
compileMakeRope does not emit necessary bounds checks
https://bugs.webkit.org/show_bug.cgi?id=130684
<rdar://problem/16398388>

Reviewed by Oliver Hunt.

Add string length bounds checks in a bunch of places. We should never allow a string
to have a length greater than 2^31-1 because it's not clear that the language has
semantics for it and because there is code that assumes that this cannot happen.

Also add a bunch of tests to that effect to cover the various ways in which this was
previously allowed to happen.

* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMakeRope):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileMakeRope):
* runtime/JSString.cpp:
(JSC::JSRopeString::RopeBuilder::expand):
* runtime/JSString.h:
(JSC::JSString::create):
(JSC::JSRopeString::RopeBuilder::append):
(JSC::JSRopeString::RopeBuilder::release):
(JSC::JSRopeString::append):
* runtime/Operations.h:
(JSC::jsString):
(JSC::jsStringFromRegisterArray):
(JSC::jsStringFromArguments):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncToLowerCase):
* tests/stress/make-large-string-jit-strcat.js: Added.
(foo):
* tests/stress/make-large-string-jit.js: Added.
(foo):
* tests/stress/make-large-string-strcat.js: Added.
* tests/stress/make-large-string.js: Added.

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

7 years ago[New Multicolumn] Add support for column-span:all
hyatt@apple.com [Tue, 15 Apr 2014 23:25:58 +0000 (23:25 +0000)]
[New Multicolumn] Add support for column-span:all
https://bugs.webkit.org/show_bug.cgi?id=129330

Patch by Morten Stenshorne <mstensho@opera.com> on 2014-04-14
Reviewed by Dave Hyatt.

Source/WebCore:
Column spanners are implemented as siblings of RenderMultiColumnSet
objects (i.e. the regions for the column rows). This means that they
are pulled out from the flow thread tree where they would otherwise
live. This causes some complexity, most of which is contained within
the multicol code.

A placeholder is put in the flow thread tree where the spanner's
renderer would otherwise live. This is needed in order make sure that
we interrupt line layout before after the spanner. We also need this
to be able to switch from one multicol set to the next.

Some extra logic is required when dynamically inserting and removing
flow thread descendants now, because we need to figure out if the
renderer added should trigger creation of new multi column sets. If
a spanner is inserted in the middle of a multi column set, we need to
detect this, split the set and put the spanner in the middle.

Wrote a bunch of tests. A few of the tests were copied from existing
(old-impl) tests and put in a separate directory. That directory can
be wiped when we turn on the new multicol implementation by default.

Tests: fast/multicol/newmulticol/adjacent-spanners.html
       fast/multicol/newmulticol/block-becomes-spanner.html
       fast/multicol/newmulticol/change-spanner-display.html
       fast/multicol/newmulticol/change-spanner-parent-display.html
       fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/before-child-anonymous-column-block.html
       fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html
       fast/multicol/newmulticol/compare-with-old-impl/clone-summary.html
       fast/multicol/newmulticol/compare-with-old-impl/column-span-inside-multicol-webkit-box.html
       fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/runin-continuation-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/span-as-immediate-child-complex-splitting.html
       fast/multicol/newmulticol/compare-with-old-impl/span-as-nested-inline-block-child.html
       fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html
       fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html
       fast/multicol/newmulticol/insert-row-content1.html
       fast/multicol/newmulticol/insert-row-content2.html
       fast/multicol/newmulticol/insert-row-content3.html
       fast/multicol/newmulticol/insert-row-content4.html
       fast/multicol/newmulticol/insert-row-content5.html
       fast/multicol/newmulticol/insert-row-content6.html
       fast/multicol/newmulticol/insert-row-content7.html
       fast/multicol/newmulticol/insert-row-content8.html
       fast/multicol/newmulticol/insert-row-content9.html
       fast/multicol/newmulticol/insert-spanner-child1.html
       fast/multicol/newmulticol/insert-spanner-child2.html
       fast/multicol/newmulticol/insert-spanner-child3.html
       fast/multicol/newmulticol/insert-spanner1.html
       fast/multicol/newmulticol/insert-spanner2.html
       fast/multicol/newmulticol/insert-spanner3.html
       fast/multicol/newmulticol/insert-spanner4.html
       fast/multicol/newmulticol/insert-spanner5.html
       fast/multicol/newmulticol/insert-spanner6.html
       fast/multicol/newmulticol/insert-spanner7.html
       fast/multicol/newmulticol/insert-spanner8.html
       fast/multicol/newmulticol/multicol-with-spanner-becomes-regular-block.html
       fast/multicol/newmulticol/remove-row-content1.html
       fast/multicol/newmulticol/remove-row-content2.html
       fast/multicol/newmulticol/remove-row-content3.html
       fast/multicol/newmulticol/remove-row-content4.html
       fast/multicol/newmulticol/remove-row-content5.html
       fast/multicol/newmulticol/remove-row-content6.html
       fast/multicol/newmulticol/remove-row-content7.html
       fast/multicol/newmulticol/remove-row-content8.html
       fast/multicol/newmulticol/remove-row-content9.html
       fast/multicol/newmulticol/remove-spanner1.html
       fast/multicol/newmulticol/remove-spanner2.html
       fast/multicol/newmulticol/remove-spanner3.html
       fast/multicol/newmulticol/remove-spanner4.html
       fast/multicol/newmulticol/remove-spanner5.html
       fast/multicol/newmulticol/remove-spanner6.html
       fast/multicol/newmulticol/sole-spanner.html
       fast/multicol/newmulticol/span-between-text.html
       fast/multicol/newmulticol/spanner-becomes-regular-block.html
       fast/multicol/newmulticol/spanner-first.html
       fast/multicol/newmulticol/spanner-img.html
       fast/multicol/newmulticol/spanner-inline-block.html
       fast/multicol/newmulticol/spanner-last.html
       fast/multicol/newmulticol/spanner-nested-dynamic.html
       fast/multicol/newmulticol/spanner-nested.html
       fast/multicol/newmulticol/spanner-pseudo-after1.html
       fast/multicol/newmulticol/spanner-pseudo-after2.html
       fast/multicol/newmulticol/spanner-pseudo-after3.html
       fast/multicol/newmulticol/spanner-pseudo-after4.html
       fast/multicol/newmulticol/spanner-pseudo-before-after1.html
       fast/multicol/newmulticol/spanner-pseudo-before-after2.html
       fast/multicol/newmulticol/spanner-pseudo-before-after3.html
       fast/multicol/newmulticol/spanner-pseudo-before-after4.html
       fast/multicol/newmulticol/spanner-pseudo-before1.html
       fast/multicol/newmulticol/spanner-pseudo-before2.html
       fast/multicol/newmulticol/spanner-pseudo-before3.html
       fast/multicol/newmulticol/spanner-pseudo-before4.html
       fast/multicol/newmulticol/spanner-table.html
       fast/multicol/newmulticol/spanner-with-margin.html
       fast/multicol/newmulticol/spanner1.html
       fast/multicol/newmulticol/spanner2.html
       fast/multicol/newmulticol/spanner3.html
       fast/multicol/newmulticol/spanner4.html
       fast/multicol/newmulticol/spanner5.html
       fast/multicol/newmulticol/spanner6.html
       fast/multicol/newmulticol/spanner7.html
       fast/multicol/newmulticol/spanner8.html
       fast/multicol/newmulticol/spanner9.html
       fast/multicol/newmulticol/trailing-margin-with-spanner.html
       fast/multicol/newmulticol/trailing-margin-with-spanner2.html

* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
Disable the old anonymous multicol container and spanner anonymous
block generation machinery when the new multicol implementation is
enabled.
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::createMultiColumnFlowThread):
(WebCore::RenderBlockFlow::destroyMultiColumnFlowThread):
(WebCore::RenderBlockFlow::layoutBlockChild): Need to notify the
flow thread when a descendant's final position is known. Spanner
placeholders need to know where to terminate the column set that
it follows.
(WebCore::RenderBlockFlow::styleDidChange): Remove old code that
isn't needed anymore. The renderers in question (flow thread and
column sets) set display:block on themselves already. This code
caused problems for spanners, which got all their style wiped.
(WebCore::RenderBlockFlow::setMultiColumnFlowThread): If setting
the flow thread to nullptr, there's no need to create the "rare
data" structure.
(WebCore::RenderBlockFlow::relayoutForPagination):
(WebCore::RenderBlockFlow::layoutSpecialExcludedChild):
(WebCore::RenderBlockFlow::addChild): beforeChild is retrieved via
the DOM. If it is a spanner, we need to locate the placeholder
here, because that's the correct location to insert siblings,
DOM-wise.
(WebCore::RenderBlockFlow::removeChild): The multicol flow thread
needs to know when children disappear.
(WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):
Don't modify the height back and forth when calculating the
multicol container's final height, as that messes up balancing.
(WebCore::RenderBlockFlow::insertedIntoTree): Deleted.
(WebCore::RenderBlockFlow::willBeDestroyed): Deleted.
(WebCore::RenderBlockFlow::styleWillChange): Deleted.
(WebCore::RenderBlockFlow::lineAtIndex): Deleted.
* rendering/RenderBlockFlow.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::insertedIntoTree): Set up an element's
layer before notifying the flow thread. The multicol flow thread
may decide to move the element (if it's a spanner), which may
involve re-insertion of layers.  Calling
RenderObject::insertedIntoTree() last instead of first also better
matches the order we used to have prior to the introduction of
RenderElement, FWIW.
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout):
(WebCore::RenderFlowThread::removeRegionFromThread): Deleted.
(WebCore::RenderFlowThread::invalidateRegions): Deleted.
* rendering/RenderFlowThread.h:
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
(WebCore::RenderMultiColumnFlowThread::removeFlowChildInfo): When
a flow thread descendant is inserted, the multicol flow thread
needs to be notified.
(WebCore::RenderMultiColumnFlowThread::firstMultiColumnSet):
(WebCore::RenderMultiColumnFlowThread::lastMultiColumnSet):
(WebCore::RenderMultiColumnFlowThread::firstColumnSetOrSpanner):
(WebCore::RenderMultiColumnFlowThread::nextColumnSetOrSpannerSiblingOf):
(WebCore::RenderMultiColumnFlowThread::previousColumnSetOrSpannerSiblingOf):
(WebCore::RenderMultiColumnFlowThread::layout):
(WebCore::RenderMultiColumnFlowThread::findSetRendering):
(WebCore::RenderMultiColumnFlowThread::populate):
(WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):
(WebCore::RenderMultiColumnFlowThread::addRegionToThread):
(WebCore::RenderMultiColumnFlowThread::willBeRemovedFromTree):
Need to detach column sets here, since they have pointers to their
flow thread.
(WebCore::RenderMultiColumnFlowThread::resolveMovedChild):
(WebCore::isValidColumnSpanner):
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
(WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved):
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantBoxLaidOut):
(WebCore::RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset):
Nothing to be done here for the time being. Column sets are now
created during box creation. We are going to need to add some code
here again once multicol properly supports nested fragmentation
contexts (and you get adjacent column rows because of that).
(WebCore::RenderMultiColumnFlowThread::regionAtBlockOffset):
During layout, don't trust the region interval tree, as that one
depends on the resulting layout.
(WebCore::RenderMultiColumnFlowThread::setRegionRangeForBox): With
a convenience method to get the last column set, and column sets
now being created during normal box creation, this young method
needs an overhaul.
(WebCore::RenderMultiColumnFlowThread::setRegionRangeForBox):
(WebCore::RenderMultiColumnFlowThread::isPageLogicalHeightKnown):
* rendering/RenderMultiColumnFlowThread.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::nextSiblingMultiColumnSet):
(WebCore::RenderMultiColumnSet::previousSiblingMultiColumnSet):
(WebCore::RenderMultiColumnSet::firstRendererInFlowThread):
(WebCore::RenderMultiColumnSet::lastRendererInFlowThread):
(WebCore::precedesRenderer):
(WebCore::RenderMultiColumnSet::containsRendererInFlowThread):
(WebCore::RenderMultiColumnSet::setLogicalTopInFlowThread):
(WebCore::RenderMultiColumnSet::setLogicalBottomInFlowThread):
(WebCore::RenderMultiColumnSet::pageLogicalTopForOffset):
(WebCore::RenderMultiColumnSet::distributeImplicitBreaks):
(WebCore::RenderMultiColumnSet::calculateBalancedHeight):
(WebCore::RenderMultiColumnSet::addForcedBreak):
(WebCore::RenderMultiColumnSet::recalculateColumnHeight):
Previously only needed if columns were to be balanced, now it's
also needed when not balancing.
(WebCore::RenderMultiColumnSet::recordSpaceShortage): Some layout
elements actually have 0 height. Skip them, since they're not
taking us anywhere.
(WebCore::RenderMultiColumnSet::updateLogicalWidth):
(WebCore::RenderMultiColumnSet::requiresBalancing): Column sets
now have individual balancing needs. If they precede a spanner,
they must always be balanced. For the last column set, see if
height is unspecified or column-fill is 'balance' (like before).
(WebCore::RenderMultiColumnSet::prepareForLayout):
(WebCore::RenderMultiColumnSet::beginFlow):
(WebCore::RenderMultiColumnSet::endFlow):
(WebCore::RenderMultiColumnSet::layout):
(WebCore::RenderMultiColumnSet::calculateMaxColumnHeight):
(WebCore::RenderMultiColumnSet::columnRectAt):
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::paintColumnRules):
(WebCore::RenderMultiColumnSet::initialBlockOffsetForPainting):
(WebCore::RenderMultiColumnSet::collectLayerFragments):
(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
(WebCore::RenderMultiColumnSet::setAndConstrainColumnHeight): Deleted.
(WebCore::RenderMultiColumnSet::findRunWithTallestColumns): Deleted.
(WebCore::RenderMultiColumnSet::clearForcedBreaks): Deleted.
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent): Deleted.
* rendering/RenderMultiColumnSet.h:
* rendering/RenderMultiColumnSpannerPlaceholder.cpp: Added.
(WebCore::RenderMultiColumnSpannerPlaceholder::createAnonymous):
(WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):
(WebCore::RenderMultiColumnSpannerPlaceholder::renderName):
* rendering/RenderMultiColumnSpannerPlaceholder.h: Added.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::insertedIntoTree): Need to notify the
multicol flow thread when descendants are inserted. That may
trigger insertion of column sets, or, in the case of spanners,
they need to be moved out from the flow thread.
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderMultiColumnSpannerPlaceholder):
(WebCore::RenderObject::isAnonymousBlock): Exclude column sets
here, so that they don't get involved in anonymous block merging
and other kinds of fun.
* rendering/RenderRegion.h:
* rendering/RenderRegionSet.h:

LayoutTests:
Wrote a bunch of tests. A few of the tests were copied from existing
(old-impl) tests and put in a separate directory. That directory can
be wiped when we turn on the new multicol implementation by default.

* fast/multicol/newmulticol/adjacent-spanners-expected.html: Added.
* fast/multicol/newmulticol/adjacent-spanners.html: Added.
* fast/multicol/newmulticol/block-becomes-spanner-expected.html: Added.
* fast/multicol/newmulticol/block-becomes-spanner.html: Added.
* fast/multicol/newmulticol/change-spanner-display-expected.html: Added.
* fast/multicol/newmulticol/change-spanner-display.html: Added.
* fast/multicol/newmulticol/change-spanner-parent-display-expected.html: Added.
* fast/multicol/newmulticol/change-spanner-parent-display.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/before-child-anonymous-column-block-expected.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/before-child-anonymous-column-block.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/clone-summary-expected.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/clone-summary.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/column-span-inside-multicol-webkit-box-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/column-span-inside-multicol-webkit-box.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/continuation-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/runin-continuation-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/runin-continuation-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/span-as-immediate-child-complex-splitting-expected.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/span-as-immediate-child-complex-splitting.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/span-as-nested-inline-block-child-expected.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/span-as-nested-inline-block-child.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html: Added.
* fast/multicol/newmulticol/insert-row-content1-expected.html: Added.
* fast/multicol/newmulticol/insert-row-content1.html: Added.
* fast/multicol/newmulticol/insert-row-content2-expected.html: Added.
* fast/multicol/newmulticol/insert-row-content2.html: Added.
* fast/multicol/newmulticol/insert-row-content3-expected.html: Added.
* fast/multicol/newmulticol/insert-row-content3.html: Added.
* fast/multicol/newmulticol/insert-row-content4-expected.html: Added.
* fast/multicol/newmulticol/insert-row-content4.html: Added.
* fast/multicol/newmulticol/insert-row-content5-expected.html: Added.
* fast/multicol/newmulticol/insert-row-content5.html: Added.
* fast/multicol/newmulticol/insert-row-content6-expected.html: Added.
* fast/multicol/newmulticol/insert-row-content6.html: Added.
* fast/multicol/newmulticol/insert-row-content7-expected.html: Added.
* fast/multicol/newmulticol/insert-row-content7.html: Added.
* fast/multicol/newmulticol/insert-row-content8-expected.html: Added.
* fast/multicol/newmulticol/insert-row-content8.html: Added.
* fast/multicol/newmulticol/insert-row-content9-expected.html: Added.
* fast/multicol/newmulticol/insert-row-content9.html: Added.
* fast/multicol/newmulticol/insert-spanner-child1-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner-child1.html: Added.
* fast/multicol/newmulticol/insert-spanner-child2-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner-child2.html: Added.
* fast/multicol/newmulticol/insert-spanner-child3-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner-child3.html: Added.
* fast/multicol/newmulticol/insert-spanner1-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner1.html: Added.
* fast/multicol/newmulticol/insert-spanner2-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner2.html: Added.
* fast/multicol/newmulticol/insert-spanner3-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner3.html: Added.
* fast/multicol/newmulticol/insert-spanner4-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner4.html: Added.
* fast/multicol/newmulticol/insert-spanner5-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner5.html: Added.
* fast/multicol/newmulticol/insert-spanner6-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner6.html: Added.
* fast/multicol/newmulticol/insert-spanner7-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner7.html: Added.
* fast/multicol/newmulticol/insert-spanner8-expected.html: Added.
* fast/multicol/newmulticol/insert-spanner8.html: Added.
* fast/multicol/newmulticol/multicol-with-spanner-becomes-regular-block-expected.html: Added.
* fast/multicol/newmulticol/multicol-with-spanner-becomes-regular-block.html: Added.
* fast/multicol/newmulticol/remove-row-content1-expected.html: Added.
* fast/multicol/newmulticol/remove-row-content1.html: Added.
* fast/multicol/newmulticol/remove-row-content2-expected.html: Added.
* fast/multicol/newmulticol/remove-row-content2.html: Added.
* fast/multicol/newmulticol/remove-row-content3-expected.html: Added.
* fast/multicol/newmulticol/remove-row-content3.html: Added.
* fast/multicol/newmulticol/remove-row-content4-expected.html: Added.
* fast/multicol/newmulticol/remove-row-content4.html: Added.
* fast/multicol/newmulticol/remove-row-content5-expected.html: Added.
* fast/multicol/newmulticol/remove-row-content5.html: Added.
* fast/multicol/newmulticol/remove-row-content6-expected.html: Added.
* fast/multicol/newmulticol/remove-row-content6.html: Added.
* fast/multicol/newmulticol/remove-row-content7-expected.html: Added.
* fast/multicol/newmulticol/remove-row-content7.html: Added.
* fast/multicol/newmulticol/remove-row-content8-expected.html: Added.
* fast/multicol/newmulticol/remove-row-content8.html: Added.
* fast/multicol/newmulticol/remove-row-content9-expected.html: Added.
* fast/multicol/newmulticol/remove-row-content9.html: Added.
* fast/multicol/newmulticol/remove-spanner1-expected.html: Added.
* fast/multicol/newmulticol/remove-spanner1.html: Added.
* fast/multicol/newmulticol/remove-spanner2-expected.html: Added.
* fast/multicol/newmulticol/remove-spanner2.html: Added.
* fast/multicol/newmulticol/remove-spanner3-expected.html: Added.
* fast/multicol/newmulticol/remove-spanner3.html: Added.
* fast/multicol/newmulticol/remove-spanner4-expected.html: Added.
* fast/multicol/newmulticol/remove-spanner4.html: Added.
* fast/multicol/newmulticol/remove-spanner5-expected.html: Added.
* fast/multicol/newmulticol/remove-spanner5.html: Added.
* fast/multicol/newmulticol/remove-spanner6-expected.html: Added.
* fast/multicol/newmulticol/remove-spanner6.html: Added.
* fast/multicol/newmulticol/sole-spanner-expected.html: Added.
* fast/multicol/newmulticol/sole-spanner.html: Added.
* fast/multicol/newmulticol/span-between-text-expected.html: Added.
* fast/multicol/newmulticol/span-between-text.html: Added.
* fast/multicol/newmulticol/spanner-becomes-regular-block-expected.html: Added.
* fast/multicol/newmulticol/spanner-becomes-regular-block.html: Added.
* fast/multicol/newmulticol/spanner-first-expected.html: Added.
* fast/multicol/newmulticol/spanner-first.html: Added.
* fast/multicol/newmulticol/spanner-img-expected.html: Added.
* fast/multicol/newmulticol/spanner-img.html: Added.
* fast/multicol/newmulticol/spanner-inline-block-expected.html: Added.
* fast/multicol/newmulticol/spanner-inline-block.html: Added.
* fast/multicol/newmulticol/spanner-last-expected.html: Added.
* fast/multicol/newmulticol/spanner-last.html: Added.
* fast/multicol/newmulticol/spanner-nested-dynamic-expected.html: Added.
* fast/multicol/newmulticol/spanner-nested-dynamic.html: Added.
* fast/multicol/newmulticol/spanner-nested-expected.html: Added.
* fast/multicol/newmulticol/spanner-nested.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-after1-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-after1.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-after2-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-after2.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-after3-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-after3.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-after4-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-after4.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before-after1-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before-after1.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before-after2-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before-after2.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before-after3-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before-after3.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before-after4-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before-after4.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before1-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before1.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before2-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before2.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before3-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before3.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before4-expected.html: Added.
* fast/multicol/newmulticol/spanner-pseudo-before4.html: Added.
* fast/multicol/newmulticol/spanner-table-expected.html: Added.
* fast/multicol/newmulticol/spanner-table.html: Added.
* fast/multicol/newmulticol/spanner-with-margin-expected.html: Added.
* fast/multicol/newmulticol/spanner-with-margin.html: Added.
* fast/multicol/newmulticol/spanner1-expected.html: Added.
* fast/multicol/newmulticol/spanner1.html: Added.
* fast/multicol/newmulticol/spanner2-expected.html: Added.
* fast/multicol/newmulticol/spanner2.html: Added.
* fast/multicol/newmulticol/spanner3-expected.html: Added.
* fast/multicol/newmulticol/spanner3.html: Added.
* fast/multicol/newmulticol/spanner4-expected.html: Added.
* fast/multicol/newmulticol/spanner4.html: Added.
* fast/multicol/newmulticol/spanner5-expected.html: Added.
* fast/multicol/newmulticol/spanner5.html: Added.
* fast/multicol/newmulticol/spanner6-expected.html: Added.
* fast/multicol/newmulticol/spanner6.html: Added.
* fast/multicol/newmulticol/spanner7-expected.html: Added.
* fast/multicol/newmulticol/spanner7.html: Added.
* fast/multicol/newmulticol/spanner8-expected.html: Added.
* fast/multicol/newmulticol/spanner8.html: Added.
* fast/multicol/newmulticol/spanner9-expected.html: Added.
* fast/multicol/newmulticol/spanner9.html: Added.
* fast/multicol/newmulticol/trailing-margin-with-spanner-expected.html: Added.
* fast/multicol/newmulticol/trailing-margin-with-spanner.html: Added.
* fast/multicol/newmulticol/trailing-margin-with-spanner2-expected.html: Added.
* fast/multicol/newmulticol/trailing-margin-with-spanner2.html: Added.
* platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt: Added.

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

7 years agoTools: Update LLVM export scrpt to handle the build directory being different from the
fpizlo@apple.com [Tue, 15 Apr 2014 23:25:38 +0000 (23:25 +0000)]
Tools: Update LLVM export scrpt to handle the build directory being different from the
source directory.

Rubber stamped by Geoffrey Garen.

* Scripts/export-llvm-build:

WebKitLibraries: Add LLVM binary drops for Mavericks using LLVM r206312.

Rubber stamped by Geoffrey Garen.

* LLVMIncludesMavericks.tar.bz2: Added.
* LLVMLibrariesMavericks.tar.bz2: Added.

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

7 years agoUpdate bug number in TestExpectations file.
ap@apple.com [Tue, 15 Apr 2014 23:21:07 +0000 (23:21 +0000)]
Update bug number in TestExpectations file.

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

7 years agohttp/tests/websocket/tests/hybi/workers/close.html is flaky
ap@apple.com [Tue, 15 Apr 2014 23:19:03 +0000 (23:19 +0000)]
http/tests/websocket/tests/hybi/workers/close.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=131716

* platform/mac/TestExpectations: Marking as such.

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

7 years agotransitions/cancel-transition.html is very flaky on Mac
ap@apple.com [Tue, 15 Apr 2014 23:15:24 +0000 (23:15 +0000)]
transitions/cancel-transition.html is very flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=131715

* platform/mac/TestExpectations: Marking as such.

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

7 years agoIntroduce API::FormClient
mitz@apple.com [Tue, 15 Apr 2014 23:05:28 +0000 (23:05 +0000)]
Introduce API::FormClient
https://bugs.webkit.org/show_bug.cgi?id=131714

Reviewed by Tim Horton.

* UIProcess/API/APIFormClient.h: Added.
(API::FormClient::~FormClient):
(API::FormClient::willSubmitForm):

* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageFormClient): Changed to create a WebFormClient and call
WebPageProxy::setFormClient.

* UIProcess/WebFormClient.cpp:
(WebKit::WebFormClient::WebFormClient): Added a constructor from WKPageFormClientBase.
* UIProcess/WebFormClient.h: Added inheritance from API::FormClient, marked overrides as
such.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Initialize m_formClient member.
(WebKit::WebPageProxy::setFormClient): Added. Updates m_formClient.
(WebKit::WebPageProxy::close): Updated code to clear m_formClient.
(WebKit::WebPageProxy::willSubmitForm): Updated for type change.
(WebKit::WebPageProxy::initializeFormClient): Deleted.
* UIProcess/WebPageProxy.h:

* WebKit2.xcodeproj/project.pbxproj: Added reference to new file.

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

7 years agoRemove invalid sh4 specific code in JITInlines header.
commit-queue@webkit.org [Tue, 15 Apr 2014 22:36:30 +0000 (22:36 +0000)]
Remove invalid sh4 specific code in JITInlines header.
https://bugs.webkit.org/show_bug.cgi?id=131692

Patch by Julien Brianceau <jbriance@cisco.com> on 2014-04-15
Reviewed by Geoffrey Garen.

* jit/JITInlines.h:
(JSC::JIT::callOperation): Prototype is not F_JITOperation_EJJZ
anymore since r160244, so the sh4 specific code is invalid now
and has to be removed.

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

7 years agoFix precedence issue in JSCell:setRemembered
mhahnenberg@apple.com [Tue, 15 Apr 2014 21:50:38 +0000 (21:50 +0000)]
Fix precedence issue in JSCell:setRemembered

Rubber stamped by Filip Pizlo.

* runtime/JSCell.h:
(JSC::JSCell::setRemembered):

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