Move layoutBlock and layoutBlockChildren into RenderBlockFlow
https://bugs.webkit.org/show_bug.cgi?id=121036

Reviewed by Dean Jackson.

Move layoutBlock into RenderBlockFlow and make the base class version of
the method ASSERT_NOT_REACHED. Begin the process of moving block layout 
into RenderBlockFlow by putting layoutBlockChildren there as well.
        
This patch also puts clearFloats into RenderBlockFlow and just ditches the
SVG-specific forceLayoutInlineChildren by letting RenderSVGText do what it
needs in its own file.

Convert RenderListBox to be a RenderBlockFlow, since this is necessary for it
to get the correct layoutBlock method.
        
Patch RenderRegion to call RenderBlockFlow::layoutBlock rather than RenderBlock::layoutBlock.
        
Fix run-ins so that they create block flows rather than blocks, and restrict run-ins to
only be block flows.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::createReplacementRunIn):
(WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::clearFloats):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::layoutBlockChildren):
* rendering/RenderBlockFlow.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::layoutInlineChildren):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::RenderListBox):
(WebCore::RenderListBox::layout):
(WebCore::RenderListBox::paintObject):
(WebCore::RenderListBox::addFocusRingRects):
(WebCore::RenderListBox::nodeAtPoint):
* rendering/RenderListBox.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::paintObject):
(WebCore::RenderRegion::styleDidChange):
(WebCore::RenderRegion::layoutBlock):
(WebCore::RenderRegion::insertedIntoTree):
(WebCore::RenderRegion::willBeRemovedFromTree):
(WebCore::RenderRegion::computeIntrinsicLogicalWidths):
(WebCore::RenderRegion::computePreferredLogicalWidths):
(WebCore::RenderRegion::updateLogicalHeight):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Internals should always cause a layout before calling into TextIterator
https://bugs.webkit.org/show_bug.cgi?id=120891

Reviewed by Antti Koivisto.

Source/WebCore: 

Inspired by https://chromium.googlesource.com/chromium/blink/+/5fee5da7b04a710171c79bd6e87eca3533188e45.

Force a layout in the constructors of TextIterator, and SimplifiedBackwardsTextIterator and remove
superfluous calls to updateLayout() in other places.

As much as I hate for a constructor to have a side effect like this, I couldn't think of a better place
to update the layout. Unfortunately, we're slowly moving away from manually createing TextIterator and
wrapping them in a static function.

* editing/TextIterator.cpp:
(WebCore::TextIterator::TextIterator):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
(WebCore::TextIterator::rangeFromLocationAndLength):
(WebCore::findPlainText):

LayoutTests: 

Progression.

* platform/mac/editing/input/caret-primary-bidi-expected.txt:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Enable WebGL for OS X nightlies
https://bugs.webkit.org/show_bug.cgi?id=121040

Reviewed by Beth Dakin.

Source/WebKit/mac:

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Set WebPreference to YES.

Source/WebKit2:

* Shared/WebPreferencesStore.h: Set initial value to true.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Stop using WTF type traits in WebCore
https://bugs.webkit.org/show_bug.cgi?id=121042

Reviewed by Andreas Kling.

Replace uses of WTF type traits in CrossThreadCopier with a simpler solution
that uses std::is_convertible_to and some helpers.

* dom/CrossThreadTask.h:
* platform/CrossThreadCopier.h:
* platform/MainThreadTask.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Bug Fix] Calling m_audioComponents.remove in removeAudioComponent (MediaStreamDescriptor)
https://bugs.webkit.org/show_bug.cgi?id=121034

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-09-09
Reviewed by Eric Carlson.

No new tests needed.

* platform/mediastream/MediaStreamDescriptor.h:
(WebCore::MediaStreamDescriptor::removeAudioComponent):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Stress tests should test the jsc profiler (-p)
https://bugs.webkit.org/show_bug.cgi?id=121043

PerformanceTests/SunSpider: 

Reviewed by Mark Hahnenberg.
        
Add a jsc-stress-test that tries to profile SunSpider.

* profiler-test.yaml: Added.

Tools: 

Reviewed by Mark Hahnenberg.
        
Add a runProfiler command that all tests could use. This requires profiler-test-helper,
which first runs the JS test and then tries the output with display-profiler-output.
But if any of the things required for this to work aren't present, we just do a simpler
test that just uses "-p".
        
Because I didn't want to pollute SunSpider with "//@ runProfiler", I added the ability
to create test collections using a yaml file that specifies the test path and the
command to run.

* Scripts/jsc-stress-test-helpers: Added.
* Scripts/jsc-stress-test-helpers/profiler-test-helper: Added.
* Scripts/run-javascriptcore-tests:
* Scripts/run-jsc-stress-tests:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fast/js/dfg-* tests should wait for the concurrent JIT
https://bugs.webkit.org/show_bug.cgi?id=120723

Rubber stamped by Oliver Hunt.
        
Convert more tests.

* fast/js/dfg-ensure-array-storage-on-string-expected.txt:
* fast/js/dfg-ensure-array-storage-on-window-expected.txt:
* fast/js/dfg-ensure-contiguous-on-string-expected.txt:
* fast/js/dfg-ensure-non-array-array-storage-on-window-expected.txt:
* fast/js/script-tests/dfg-ensure-array-storage-on-string.js:
(while):
* fast/js/script-tests/dfg-ensure-array-storage-on-window.js:
(while):
* fast/js/script-tests/dfg-ensure-contiguous-on-string.js:
* fast/js/script-tests/dfg-ensure-non-array-array-storage-on-window.js:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155384 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, fix Ruby exception handling.

* Scripts/run-jsc-stress-tests:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155385 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed. Update Cygwin Downloader to include lighttpd and download setup-x86.exe.

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


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155388 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Skipping this newly-added test since it asserts on debug builds.
https://bugs.webkit.org/show_bug.cgi?id=121053 tracks fixing this for real.

* platform/mac/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155389 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION (r155377): Convert the media elements that were RenderBlocks to RenderBlockFlows
https://bugs.webkit.org/show_bug.cgi?id=121052

Reviewed by Anders Carlsson.

Convert a couple of media renderers that I missed from RenderBlock to RenderBlockFlow.
The previous patch that I landed added asserts that get triggered now when this
situation occurs.

* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaVolumeSliderContainer::layout):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
(WebCore::RenderTextTrackContainerElement::layout):
* rendering/RenderMediaControlElements.h:



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