Turn threaded scrolling on for all Mac ports.
Rubber-stamped by Simon Fraser and Sam Weinig.

* wtf/FeatureDefines.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move m_floatingObjects to RenderBlockFlow from RenderBlock
https://bugs.webkit.org/show_bug.cgi?id=122512

Reviewed by David Hyatt.

Floats are part of block flow, not every RenderBlock can contain
floars. This change makes it so that RenderBlock no longer can contain
floats, only RenderBlockFlow can.

This also moves a bunch of line layout stuff over to RenderBlockFlow,
but makes no effort to move all of line layout, as all of that is
destined to move out of both RenderBlockFlow and RenderBlock into its
own class.

No new tests, no behavior change.

* rendering/InlineIterator.h:
(WebCore::InlineBidiResolver::appendRun):
* rendering/LineWidth.cpp:
(WebCore::LineWidth::LineWidth):
* rendering/LineWidth.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::splitFlow):
(WebCore::RenderBlock::deleteLineBoxTree):
(WebCore::RenderBlock::removeChild):
(WebCore::RenderBlock::computeOverflow):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::adjustForBorderFit):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::containsFloats):
(WebCore::RenderBlock::shouldSkipCreatingRunsForObject):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::logicalRightFloatOffsetForLine):
(WebCore::RenderBlock::logicalLeftFloatOffsetForLine):
(WebCore::RenderBlock::moveAllChildrenOnRemovalTo):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::clipOutFloatingObjects):
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::clearFloats):
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::layoutBlockChild):
(WebCore::RenderBlockFlow::collapseMargins):
(WebCore::RenderBlockFlow::clearFloatsIfNeeded):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::containsFloat):
(WebCore::RenderBlockFlow::styleDidChange):
(WebCore::RenderBlockFlow::styleWillChange):
(WebCore::RenderBlockFlow::deleteLineBoxTree):
(WebCore::RenderBlockFlow::moveAllChildrenOnRemovalTo):
(WebCore::RenderBlockFlow::addOverflowFromFloats):
(WebCore::RenderBlockFlow::computeOverflow):
(WebCore::RenderBlockFlow::repaintOverhangingFloats):
(WebCore::RenderBlockFlow::paintFloats):
(WebCore::RenderBlockFlow::clipOutFloatingObjects):
(WebCore::RenderBlockFlow::createFloatingObjects):
(WebCore::RenderBlockFlow::removeFloatingObjects):
(WebCore::RenderBlockFlow::insertFloatingObject):
(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::removeFloatingObjectsBelow):
(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
(WebCore::RenderBlockFlow::positionNewFloats):
(WebCore::RenderBlockFlow::newLine):
(WebCore::RenderBlockFlow::logicalLeftFloatOffsetForLine):
(WebCore::RenderBlockFlow::logicalRightFloatOffsetForLine):
(WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):
(WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
(WebCore::RenderBlockFlow::addOverhangingFloats):
(WebCore::RenderBlockFlow::hasOverhangingFloat):
(WebCore::RenderBlockFlow::addIntrudingFloats):
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlockFlow::markSiblingsWithFloatsForLayout):
(WebCore::RenderBlockFlow::getClearDelta):
(WebCore::RenderBlockFlow::hitTestFloats):
(WebCore::RenderBlockFlow::adjustForBorderFit):
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::hasOverhangingFloats):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::LineBreaker::LineBreaker):
(WebCore::RenderBlockFlow::appendRunsForObject):
(WebCore::RenderBlockFlow::createLineBoxes):
(WebCore::RenderBlockFlow::constructLine):
(WebCore::RenderBlockFlow::setMarginsForRubyRun):
(WebCore::updateLogicalInlinePositions):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
(WebCore::RenderBlockFlow::computeBlockDirectionPositionsForLine):
(WebCore::setStaticPositions):
(WebCore::RenderBlockFlow::handleTrailingSpaces):
(WebCore::RenderBlockFlow::appendFloatingObjectToLastLine):
(WebCore::constructBidiRunsForLine):
(WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
(WebCore::RenderBlockFlow::layoutRunsAndFloats):
(WebCore::RenderBlockFlow::restartLayoutRunsAndFloatsInRange):
(WebCore::pushShapeContentOverflowBelowTheContentBox):
(WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLine):
(WebCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread):
(WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::linkToEndLineIfNeeded):
(WebCore::RenderBlockFlow::repaintDirtyFloats):
(WebCore::RenderBlockFlow::checkFloatsInCleanLine):
(WebCore::RenderBlockFlow::determineStartPosition):
(WebCore::RenderBlockFlow::determineEndPosition):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
(WebCore::RenderBlockFlow::matchedEndLine):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::updateSegmentsForShapes):
(WebCore::RenderBlockFlow::deleteEllipsisLineBoxes):
(WebCore::RenderBlockFlow::checkLinesForTextOverflow):
(WebCore::RenderBlockFlow::positionNewFloatOnLine):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::outermostBlockContainingFloatingObject):
(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::moveChildrenTo):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::splitFlow):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157144 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Upgrade accessibility/title-ui-element-correctness.html from crash (wk2-specific)
to fail (gtk-wide) expectation.

* platform/gtk-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157145 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Consolidate findString functions
https://bugs.webkit.org/show_bug.cgi?id=122480

Reviewed by Darin Adler.

../WebCore: 

* editing/Editor.cpp:
* editing/Editor.h:
* editing/EditorCommand.cpp:
(WebCore::executeFindString):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::find):
* page/Page.cpp:
* page/Page.h:
Fix a long standing FIXME.

../WebKit/efl: 

* ewk/ewk_frame.cpp:
(ewk_frame_text_search):
* ewk/ewk_view.cpp:
(ewk_view_text_search):

../WebKit/gtk: 

* webkit/webkitwebview.cpp:
(webkit_web_view_search_text):

../WebKit/win: 

* WebView.cpp:
(WebView::searchFor):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157146 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore: Fixed compile errors while compiling without the JIT enabled.
https://bugs.webkit.org/show_bug.cgi?id=122530

Patch by Alex Christensen <achristensen@webkit.org> on 2013-10-08
Reviewed by Brent Fulgham.

* jit/JITOperations.cpp:
Protected with #if ENABLE(JIT) like the rest of the JIT source.

Source/ThirdParty/ANGLE: Generate pdb files for debugging ANGLE DLLs.
https://bugs.webkit.org/show_bug.cgi?id=122530

Patch by Alex Christensen <achristensen@webkit.org> on 2013-10-08
Reviewed by Brent Fulgham.

* ANGLE.vcxproj/libEGLCommon.props:
* ANGLE.vcxproj/libGLESv2Common.props:
Generate debug information.

Source/WebCore: Enabled all necessary files for Win64 build.
https://bugs.webkit.org/show_bug.cgi?id=122530

Patch by Alex Christensen <achristensen@webkit.org> on 2013-10-08
Reviewed by Brent Fulgham.

* WebCore.vcxproj/WebCore.vcxproj:
Enabled MediaPlayerPrivateFullscreenWindow and
RenderLayerModelObject to be built in Win64 build.

Source/WebKit: Fixed Win64 linking.
https://bugs.webkit.org/show_bug.cgi?id=122530

Patch by Alex Christensen <achristensen@webkit.org> on 2013-10-08
Reviewed by Brent Fulgham.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Added 64-bit linker symbols.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157147 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Update gtk-wk2-specific expectations for a couple of
fast/dom/Window tests:

  - fast/dom/Window/window-postmessage-clone.html (times out)
  - fast/dom/Window/open-window-min-size.html (fails)

* platform/gtk-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157148 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. Make platform-specific expectation file apply only to gtk-wk1, since
gtk-wk2 gets the output right.

* platform/gtk-wk1/fast/loader/show-only-one-beforeunload-dialog-expected.txt: Renamed from LayoutTests/platform/gtk/fast/loader/show-only-one-beforeunload-dialog-expected.txt.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157149 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Convert for-of iteration to in-band signalling so we can trivially avoid unnecessary object allocation
https://bugs.webkit.org/show_bug.cgi?id=122532

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Switch for-of enumeration to use in band signalling to determine the end
of iteration.  This allows us to trivially remove an otherwise unnecessary
object allocation, and paves the way for optimised thunks in future.

We can re-add explicit .next() functions in future that would marshall
the true iteration functions, but for now we'll ignore them.

This results in a huge improvement in the performance of for-of (in the order
of 2x) but there's still a long way to go in order to get the performance to
a satisfactory level.

* bytecompiler/NodesCodegen.cpp:
(JSC::ForOfNode::emitBytecode):
* runtime/ArrayIteratorPrototype.cpp:
(JSC::ArrayIteratorPrototype::finishCreation):
(JSC::createIteratorResult):
* runtime/CommonIdentifiers.cpp:
(JSC::CommonIdentifiers::CommonIdentifiers):
* runtime/CommonIdentifiers.h:
* runtime/Identifier.cpp:
(JSC::Identifier::addSlowCase):
* runtime/JSObject.h:
(JSC::JSFinalObject::create):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:

LayoutTests:

Update tests to reflect our non-exposure of .next()

* js/array-iterators-expected.txt:
* js/script-tests/array-iterators.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157150 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed gardening. The 64 bits release bot has been made to use 8 bpp depth, so
fast/dom/Window/window-screen-properties.html won't pass there.

* platform/gtk/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157151 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Turn EventPath into a real class
https://bugs.webkit.org/show_bug.cgi?id=122533

Reviewed by Antti Koivisto.

Turned EventPath into a real class and made EventRetargeter::calculateEventPath its constructor.
We can turn a lot of functions in EventRetargeter.cpp member functions of EventPath since many
of them manipulate EventPath in one way or another.

* dom/EventContext.h:
(WebCore::toMouseOrFocusEventContext):
(WebCore::toTouchEventContext):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::EventDispatcher):
(WebCore::EventDispatcher::dispatchEventAtCapturing):
(WebCore::EventDispatcher::dispatchEventAtTarget):
(WebCore::EventDispatcher::dispatchEventAtBubbling):
(WebCore::EventDispatcher::dispatchEventPostProcess):
(WebCore::EventDispatcher::topEventContext):
(WebCore::EventPath::hasEventListeners):
* dom/EventDispatcher.h:
(WebCore::EventPath::isEmpty):
(WebCore::EventPath::size):
(WebCore::EventPath::item):
(WebCore::EventPath::targetRespectingTargetRules):
(WebCore::EventPath::shrink):
(WebCore::EventPath::lastContextIfExists):
* dom/EventRetargeter.cpp:
(WebCore::EventPath::EventPath):
(WebCore::EventRetargeter::adjustForTouchEvent):
(WebCore::EventRetargeter::adjustForRelatedTarget):
(WebCore::EventRetargeter::calculateAdjustedNodes):
* dom/EventRetargeter.h:
* inspector/InspectorInstrumentation.cpp:
(WebCore::eventHasListeners):
* inspector/InspectorInstrumentation.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157152 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove the code erroneously in the previous commit.

* dom/EventDispatcher.h:
(WebCore::EventPath::contextAt):


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