Move Floats out of RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=120779

Reviewed by Alexandru Chiculita.

Move FloatingObject, FloatingObjects and related code into
FloatingObjects.{h,cpp}. This not only makes the code more readable
and maintainable, it also will allow for more decoupling of
RenderBlock and the FloatingObjects, hopefully making it possible for
FloatingObjects to be more central and not need to have one for each
RenderBlock that is affected by floats.

No new tests, no behavior change.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/FloatingObjects.cpp: Added.
(WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
(WebCore::ComputeFloatOffsetAdapter::lowValue):
(WebCore::ComputeFloatOffsetAdapter::highValue):
(WebCore::ComputeFloatOffsetAdapter::outermostFloat):
(WebCore::FloatingObjects::FloatingObjects):
(WebCore::FloatingObjects::~FloatingObjects):
(WebCore::FloatingObjects::clearLineBoxTreePointers):
(WebCore::FloatingObjects::clear):
(WebCore::FloatingObjects::increaseObjectsCount):
(WebCore::FloatingObjects::decreaseObjectsCount):
(WebCore::FloatingObjects::intervalForFloatingObject):
(WebCore::FloatingObjects::addPlacedObject):
(WebCore::FloatingObjects::removePlacedObject):
(WebCore::FloatingObjects::add):
(WebCore::FloatingObjects::remove):
(WebCore::FloatingObjects::computePlacedFloatsTree):
(WebCore::FloatingObjects::logicalLeftOffset):
(WebCore::FloatingObjects::logicalRightOffset):
(WebCore::rangesIntersect):
(WebCore::::updateOffsetIfNeeded):
(WebCore::::collectIfNeeded):
(WebCore::::getHeightRemaining):
(WebCore::::string):
* rendering/FloatingObjects.h: Added.
(WebCore::FloatingObject::FloatingObject):
(WebCore::FloatingObject::clone):
(WebCore::FloatingObject::type):
(WebCore::FloatingObject::renderer):
(WebCore::FloatingObject::isPlaced):
(WebCore::FloatingObject::setIsPlaced):
(WebCore::FloatingObject::x):
(WebCore::FloatingObject::maxX):
(WebCore::FloatingObject::y):
(WebCore::FloatingObject::maxY):
(WebCore::FloatingObject::width):
(WebCore::FloatingObject::height):
(WebCore::FloatingObject::setX):
(WebCore::FloatingObject::setY):
(WebCore::FloatingObject::setWidth):
(WebCore::FloatingObject::setHeight):
(WebCore::FloatingObject::frameRect):
(WebCore::FloatingObject::setFrameRect):
(WebCore::FloatingObject::paginationStrut):
(WebCore::FloatingObject::setPaginationStrut):
(WebCore::FloatingObject::isInPlacedTree):
(WebCore::FloatingObject::setIsInPlacedTree):
(WebCore::FloatingObject::shouldPaint):
(WebCore::FloatingObject::setShouldPaint):
(WebCore::FloatingObject::isDescendant):
(WebCore::FloatingObject::setIsDescendant):
(WebCore::FloatingObject::setRenderer):
(WebCore::FloatingObject::originatingLine):
(WebCore::FloatingObject::setOriginatingLine):
(WebCore::FloatingObject::logicalTop):
(WebCore::FloatingObject::logicalBottom):
(WebCore::FloatingObject::logicalLeft):
(WebCore::FloatingObject::logicalRight):
(WebCore::FloatingObject::logicalWidth):
(WebCore::FloatingObject::pixelSnappedLogicalTop):
(WebCore::FloatingObject::pixelSnappedLogicalBottom):
(WebCore::FloatingObject::pixelSnappedLogicalLeft):
(WebCore::FloatingObject::pixelSnappedLogicalRight):
(WebCore::FloatingObject::setLogicalTop):
(WebCore::FloatingObject::setLogicalLeft):
(WebCore::FloatingObject::setLogicalHeight):
(WebCore::FloatingObject::setLogicalWidth):
(WebCore::FloatingObjectHashFunctions::hash):
(WebCore::FloatingObjectHashFunctions::equal):
(WebCore::FloatingObjectHashTranslator::hash):
(WebCore::FloatingObjectHashTranslator::equal):
(WebCore::FloatingObjects::setHorizontalWritingMode):
(WebCore::FloatingObjects::hasLeftObjects):
(WebCore::FloatingObjects::hasRightObjects):
(WebCore::FloatingObjects::set):
(WebCore::FloatingObjects::placedFloatsTree):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::insertFloatingObject):
* rendering/RenderBlock.h:
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
(WebCore::LineLayoutState::lastFloat):
(WebCore::LineLayoutState::setLastFloat):
* rendering/RenderView.cpp:
(WebCore::RenderView::intervalArena):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155391 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools: Point Tools scripts to LayoutTests/resources.
https://bugs.webkit.org/show_bug.cgi?id=120899.

Reviewed by Ryosuke Niwa.

* Scripts/make-new-script-test:
(makePathToSharedSources):
* Scripts/run-fast-jsc:
* Scripts/webkitperl/httpd.pm:
(getDefaultConfigForTestDirectory):
* Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
(LayoutTestApacheHttpd.__init__):
* Scripts/webkitpy/layout_tests/servers/http_server.py:
(Lighttpd.__init__):
* Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
(BaseTest.integration_test_port_and_root):
* Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
(TestHttpServer.test_start_cmd):
* Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests.py:
(translate_includes):
* Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests_unittest.py:
(TestTranslation.test_include_rewriting):

LayoutTests: Remove old fast/js/resources pre and post test files.
https://bugs.webkit.org/show_bug.cgi?id=120899.

Reviewed by Ryosuke Niwa.

* fast/js/resources/js-test-post-async.js: Removed.
* fast/js/resources/js-test-post.js: Removed.
* fast/js/resources/js-test-pre.js: Removed.
* fast/js/resources/standalone-post.js: Removed.
* fast/js/resources/standalone-pre.js: Removed.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155392 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixing EFL build
https://bugs.webkit.org/show_bug.cgi?id=121048

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

No new tests needed.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::applyEdjeRTLState):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155393 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Prevent overflow of width/height of layout overflow rectangle which can cause scroll bar to misfunction
https://bugs.webkit.org/show_bug.cgi?id=121041

Reviewed by Darin Adler.

Merge the test from https://chromium.googlesource.com/chromium/blink/+/d050f9be579d02e40c8924b4153376bc32ffba1a

* scrollbars/scrollbar-large-overflow-rectangle-expected.txt: Added.
* scrollbars/scrollbar-large-overflow-rectangle.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155394 268f45cc-cd09-0410-ab3c-d52691b4dbfc
JSArray::shiftCountWithArrayStorage doesn't change indexBias when shifting the last element in m_vector
https://bugs.webkit.org/show_bug.cgi?id=120389

Reviewed by Michael Saboff.

Went through and cleaned up shiftCountWithArrayStorage. Gave meaningful variable names
and commented the confusing parts. This led to realizing how to fix this bug, which has
been done. The issue was that we were modifying the vector length unconditionally, even
when we weren't logically changing the length of the vector. Instead, we should only modify
the vector length when we modify the index bias.

* runtime/JSArray.cpp:
(JSC::JSArray::shiftCountWithArrayStorage):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Hide node() below RenderSVGModelObject, use element() instead.
<https://webkit.org/b/121051>

Reviewed by Darin Adler.

This was almost already there, just delete node() and add an element() that returns a SVGElement*.
The SVG render tree is crazy casual about compile-time types, this is only scratching the surface.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155398 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Wrong for SlowPathCall to load callFrame reg from vm.topCallFrame after call
https://bugs.webkit.org/show_bug.cgi?id=120537

Reviewed by Geoffrey Garen.

Changed JITSlowPathCall::call() to update vm.topCallFrame from the callFrameRegister instead of the
other way around.

* jit/JIT.h:
* jit/JITInlines.h:
* jit/SlowPathCall.h:
(JSC::JITSlowPathCall::call):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155399 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix path to post file in a fwe tests, and adjust the expected results to match.
https://bugs.webkit.org/show_bug.cgi?id=120899.

Rubber stamped by Filip Pizlo.

* fast/events/constructors/speech-recognition-error-constructor-expected.txt:
* fast/events/constructors/speech-recognition-error-constructor.html:
* fast/events/constructors/storage-event-constructor-expected.txt:
* fast/events/constructors/storage-event-constructor.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155401 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove wtf/TypeTraits.h
https://bugs.webkit.org/show_bug.cgi?id=121047

Reviewed by Darin Adler.

* GNUmakefile.list.am:
* WTF.pro:
* WTF.vcxproj/WTF.vcxproj:
* WTF.vcxproj/WTF.vcxproj.filters:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/TypeTraits.cpp: Removed.
* wtf/TypeTraits.h: Removed.
* wtf/VectorTraits.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155402 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Update build instructions for Apple Windows port to include cygwin php install steps.

* building/tools.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools: Rolling out r155392 (Point Tools scripts to LayoutTests/resources): breaks tests.
https://bugs.webkit.org/show_bug.cgi?id=120899.

Not reviewed.

* Scripts/make-new-script-test:
(makePathToSharedSources):
* Scripts/run-fast-jsc:
* Scripts/webkitperl/httpd.pm:
(getDefaultConfigForTestDirectory):
* Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
(LayoutTestApacheHttpd.__init__):
* Scripts/webkitpy/layout_tests/servers/http_server.py:
(Lighttpd.__init__):
* Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
(BaseTest.integration_test_port_and_root):
* Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
(TestHttpServer.test_start_cmd):
* Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests.py:
(translate_includes):
* Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests_unittest.py:
(TestTranslation.test_include_rewriting):

LayoutTests: Rolling out r155392(Remove old fast/js/resources pre and post test files): breaks tests.
https://bugs.webkit.org/show_bug.cgi?id=120899.

Not reviewed.

* fast/js/resources/js-test-post-async.js: Copied from LayoutTests/fast/js/resources/js-test-post-async.js.
* fast/js/resources/js-test-post.js: Copied from LayoutTests/fast/js/resources/js-test-post.js.
* fast/js/resources/js-test-pre.js: Copied from LayoutTests/fast/js/resources/js-test-pre.js.
* fast/js/resources/standalone-post.js: Copied from LayoutTests/fast/js/resources/standalone-post.js.
* fast/js/resources/standalone-pre.js: Copied from LayoutTests/fast/js/resources/standalone-pre.js.



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