Make renderer constructors take Element where possible
https://bugs.webkit.org/show_bug.cgi?id=107138

Reviewed by David Hyatt.
        
Tighter typing prevents bugs and enables optimizations.

The patch changes how anonymous rendererer are constructed. Previously Document* as the node parameter
indicated that the renderer was anonymous. This forced the code to operate on ContainerNodes (Document
is not an Element). Now anonymous renderers are constructed by passing null and the document is set by
separate setDocumentForAnonymous() call. The patch uses RenderFoo::createAnonymous() pattern consistently.

Most constructors are switched to take Element. RenderBlock still takes ContainerNode due to a few subclasses
(RenderView and RenderFlowThread) that pass in a Document.

* page/FrameView.cpp:
(WebCore::FrameView::updateScrollCorner):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::createAnonymous):
(WebCore):
(WebCore::RenderBlock::createReplacementRunIn):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
(WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
(WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
(WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):
(WebCore::RenderDeprecatedFlexibleBox::createAnonymous):
(WebCore):
* rendering/RenderDeprecatedFlexibleBox.h:
(RenderDeprecatedFlexibleBox):
* rendering/RenderDetailsMarker.cpp:
(WebCore::RenderDetailsMarker::RenderDetailsMarker):
* rendering/RenderDetailsMarker.h:
(RenderDetailsMarker):
* rendering/RenderDialog.h:
(WebCore::RenderDialog::RenderDialog):
* rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::RenderFieldset):
* rendering/RenderFieldset.h:
(RenderFieldset):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::RenderFlexibleBox):
* rendering/RenderFlexibleBox.h:
(RenderFlexibleBox):
* rendering/RenderFlowThread.cpp:
(WebCore):
(WebCore::RenderFlowThread::RenderFlowThread):
* rendering/RenderFlowThread.h:
* rendering/RenderFullScreen.cpp:
(RenderFullScreenPlaceholder::RenderFullScreenPlaceholder):
(RenderFullScreen::RenderFullScreen):
(RenderFullScreen::createAnonymous):
(RenderFullScreen::wrapRenderer):
* rendering/RenderFullScreen.h:
(RenderFullScreen):
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::RenderGrid):
* rendering/RenderGrid.h:
(RenderGrid):
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
(WebCore::RenderImage::createAnonymous):
(WebCore):
* rendering/RenderImage.h:
(RenderImage):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::RenderInline):
(WebCore::RenderInline::createAnonymous):
(WebCore):
(WebCore::RenderInline::addChildIgnoringContinuation):
* rendering/RenderInline.h:
(RenderInline):
(WebCore::RenderInline::node):
        
    Add version with covariant Element return type.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollCornerStyle):
(WebCore::RenderLayer::updateResizerStyle):
(WebCore::RenderLayer::createReflection):
* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::RenderListItem):
(WebCore::RenderListItem::styleDidChange):
* rendering/RenderListItem.h:
(RenderListItem):
* rendering/RenderListMarker.cpp:
(WebCore::RenderListMarker::RenderListMarker):
(WebCore::RenderListMarker::createAnonymous):
(WebCore):
* rendering/RenderListMarker.h:
(RenderListMarker):
* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
(WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
(WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement):
* rendering/RenderMediaControlElements.h:
(RenderMediaVolumeSliderContainer):
(RenderMediaControlTimeDisplay):
(RenderTextTrackContainerElement):
* rendering/RenderMultiColumnBlock.cpp:
(WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
(WebCore::RenderMultiColumnBlock::ensureColumnSets):
* rendering/RenderMultiColumnBlock.h:
(RenderMultiColumnBlock):
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnFlowThread.h:
(RenderMultiColumnFlowThread):
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
(WebCore::RenderMultiColumnSet::createAnonymous):
(WebCore):
* rendering/RenderMultiColumnSet.h:
(RenderMultiColumnSet):
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
* rendering/RenderNamedFlowThread.h:
(RenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
* rendering/RenderObject.h:
        
     Passed in null node indicates that the renderer is anonymous. Remove now unnecessary setIsAnonymous() function.

(WebCore::RenderObject::isAnonymous):
(WebCore::RenderObject::setDocumentForAnonymous):
(RenderObject):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
* rendering/RenderRegion.h:
(RenderRegion):
* rendering/RenderRegionSet.cpp:
(WebCore::RenderRegionSet::RenderRegionSet):
* rendering/RenderRegionSet.h:
(RenderRegionSet):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::RenderReplaced):
* rendering/RenderReplaced.h:
(RenderReplaced):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::RenderReplica):
(WebCore::RenderReplica::createAnonymous):
(WebCore):
* rendering/RenderReplica.h:
(RenderReplica):
* rendering/RenderRuby.cpp:
(WebCore::createAnonymousRubyInlineBlock):
(WebCore::RenderRubyAsInline::RenderRubyAsInline):
(WebCore):
(WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
* rendering/RenderRuby.h:
(RenderRubyAsInline):
(RenderRubyAsBlock):
* rendering/RenderRubyBase.cpp:
(WebCore::RenderRubyBase::RenderRubyBase):
(WebCore::RenderRubyBase::createAnonymous):
(WebCore):
* rendering/RenderRubyBase.h:
(RenderRubyBase):
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::RenderRubyRun):
(WebCore::RenderRubyRun::createRubyBase):
(WebCore::RenderRubyRun::staticCreateRubyRun):
* rendering/RenderRubyRun.h:
(RenderRubyRun):
* rendering/RenderRubyText.cpp:
(WebCore::RenderRubyText::RenderRubyText):
* rendering/RenderRubyText.h:
(RenderRubyText):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::updateScrollbarPart):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::RenderScrollbarPart):
(WebCore::RenderScrollbarPart::createAnonymous):
(WebCore):
* rendering/RenderScrollbarPart.h:
(RenderScrollbarPart):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::RenderSearchField):
* rendering/RenderSearchField.h:
(RenderSearchField):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::RenderTable):
(WebCore::RenderTable::createAnonymousWithParentRenderer):
* rendering/RenderTable.h:
(RenderTable):
* rendering/RenderTableCaption.cpp:
(WebCore::RenderTableCaption::RenderTableCaption):
* rendering/RenderTableCaption.h:
(RenderTableCaption):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::RenderTableCell):
(WebCore::RenderTableCell::createAnonymousWithParentRenderer):
* rendering/RenderTableCell.h:
(RenderTableCell):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::RenderTableCol):
* rendering/RenderTableCol.h:
(RenderTableCol):
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::RenderTableRow):
(WebCore::RenderTableRow::createAnonymousWithParentRenderer):
* rendering/RenderTableRow.h:
(RenderTableRow):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::createAnonymousWithParentRenderer):
* rendering/RenderTableSection.h:
(RenderTableSection):
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::RenderTextControl):
* rendering/RenderTextControl.h:
(RenderTextControl):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
* rendering/RenderTextControlMultiLine.h:
(RenderTextControlMultiLine):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
* rendering/RenderTextControlSingleLine.h:
(RenderTextControlSingleLine):
(WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
* rendering/RenderTextTrackCue.cpp:
(WebCore::RenderTextTrackCue::RenderTextTrackCue):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
* rendering/RenderWidget.h:
(RenderWidget):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
(WebCore::RenderMathMLBlock::createAnonymousMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
(RenderMathMLBlock):
* rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::createMathMLOperator):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::RenderMathMLOperator):
(WebCore::RenderMathMLOperator::updateFromElement):
(WebCore::RenderMathMLOperator::createGlyph):
* rendering/mathml/RenderMathMLOperator.h:
(RenderMathMLOperator):
* rendering/mathml/RenderMathMLRow.cpp:
(WebCore::RenderMathMLRow::RenderMathMLRow):
(WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
* rendering/mathml/RenderMathMLRow.h:
(RenderMathMLRow):
* rendering/style/ContentData.cpp:
(WebCore::ImageContentData::createRenderer):
* rendering/svg/RenderSVGBlock.cpp:
(WebCore::RenderSVGBlock::RenderSVGBlock):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::RenderSVGInline):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGTSpan.cpp:
(WebCore::RenderSVGTSpan::RenderSVGTSpan):
* rendering/svg/RenderSVGTSpan.h:
(RenderSVGTSpan):
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::RenderSVGTextPath):
* rendering/svg/RenderSVGTextPath.h:
(RenderSVGTextPath):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140023 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Nested fixed position element not staying with parent
https://bugs.webkit.org/show_bug.cgi?id=65477

Reviewed by David Hyatt.

Source/WebCore:

Tests: fast/inline/fixed-pos-moves-with-abspos-inline-parent.html
       fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html
       fast/inline/fixed-pos-moves-with-abspos-parent.html
       fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedLayout):
If an absolute position element inside a relative positioned container moves, and the absolute element has a fixed position
child, neither the container nor the fixed element learn of the movement since posChildNeedsLayout() is only marked as far as the
relative positioned container. So if our positioned objects list can contain fixed position elements perform the
checks in markFixedPositionObjectForLayoutIfNeeded for each fixed pos object in the container's positioned object list.
(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
For a fixed position element in the positioned objects list that has a static x or y position check for an absolute positioned ancestor
and if we find one, see if the static x or y position of the fixed pos element has changed. If it has, mark it for layout.
(WebCore):
(WebCore::RenderBlock::layoutPositionedObjects):
A fixed position element with an absolute position ancestor has no way of learning if the latter has changed position. So perform the
checks in markFixedPositionObjectForLayoutIfNeeded for each fixed pos object in the container's positioned object list.
* rendering/RenderBlock.h:
(RenderBlock):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::containingBlock): Use new helper function canContainFixedPositionObjects().
* rendering/RenderObject.h:
(WebCore::RenderObject::canContainFixedPositionObjects):
(RenderObject):

LayoutTests:

* fast/inline/fixed-pos-moves-with-abspos-inline-parent-expected.txt: Added.
* fast/inline/fixed-pos-moves-with-abspos-inline-parent.html: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent-expected.txt: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor-expected.txt: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent-relative-ancestor.html: Added.
* fast/inline/fixed-pos-moves-with-abspos-parent.html: Added.
* fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent-expected.txt: Added.
* fast/inline/fixed-pos-with-transform-container-moves-with-abspos-parent.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Make new-style page scale work with fixed layout
https://bugs.webkit.org/show_bug.cgi?id=106951

Reviewed by Adam Barth.

This makes non-CSS-transform page scaling work with fixed-layout mode,
including viewport tag support.

- dispatchViewportPropertiesDidChange() now works entirely with DIP
pixels instead of physical pixels, and is made compatible with
separating deviceScaleFactor from pageScaleFactor.

- In this mode, the "layout viewport" size in the pinch-zoom model is
made a first-class concept separate from the device size.  This
is a viewport with the same aspect ratio as the device but with the
layout width of the page.  This viewport is used:
  - As FrameView::visibleContentRect.
  - Returned from WebView::size().
  - Given to the compositor as layoutViewportSize.

- m_deviceScaleInCompositor is deleted as it's clearer to use the
applyDeviceScaleInCompositor setting directly.

* src/ChromeClientImpl.cpp:
(WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::size):
(WebKit):
(WebKit::WebViewImpl::resize):
(WebKit::WebViewImpl::setPageScaleFactor):
(WebKit::WebViewImpl::setDeviceScaleFactor):
(WebKit::WebViewImpl::layoutSize):
(WebKit::WebViewImpl::computePageScaleFactorLimits):
(WebKit::WebViewImpl::dipSize):
(WebKit::WebViewImpl::didChangeContentsSize):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit::WebViewImpl::updateLayerTreeViewport):
* src/WebViewImpl.h:
(WebViewImpl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140025 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replaced specifiers variable with is_debug in builders.py
https://bugs.webkit.org/show_bug.cgi?id=107057

Patch by Timothy Loh <timloh@google.com> on 2013-01-17
Reviewed by Dirk Pranke.

Replaced specifiers variable with is_debug in builders.py to simplify
Bug 106259. The other specifiers are not used elsewhere in the code.
Fixed builder_name_for_port_name to return a debug builder if we don't
have a release builder.

* Scripts/webkitpy/layout_tests/port/builders.py:
(all_port_names):
(builder_name_for_port_name):
* Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
(TestRebaselineExpectations.test_rebaseline_expectations):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140026 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Prevent crash dereferencing null if script context has stopped
https://bugs.webkit.org/show_bug.cgi?id=107146

Reviewed by Tony Chang.

We have crash reports from Chromium users (but no local repro) for a crash coming
from IDBRequest::dispatchEvent() that looks like it's calling toV8Context() after
the script execution context has stopped. The dispatch shouldn't be occurring
and we ASSERT as such, but something weird is going on during Worker tear down.
If this patch prevents the crash it would indicate that stop() is called before
dispatchEvent() which shouldn't be happening, and would let us continue chasing
the issue.

No new tests - this shouldn't be happening.

* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] svg/custom/foreign-object-skew-expected.png differs Debug/Release on SnowLeopard
https://bugs.webkit.org/show_bug.cgi?id=99138

Unreviewed test expectations update.

* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png: Use the Release result.
* platform/chromium/TestExpectations: Mark the test as failing, and won't fix.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140028 268f45cc-cd09-0410-ab3c-d52691b4dbfc
32-bit build for Qt5 on Mac OS fails.
https://bugs.webkit.org/show_bug.cgi?id=107094

We need to define NS_BUILD_32_LIKE_64 for 32-bit build for Mac OS.
Fixed 32-bit build detection for support Qt5.

Source/WebCore:

Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17
Reviewed by Benjamin Poulain.

* Target.pri:

Source/WebKit:

Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17
Reviewed by Benjamin Poulain.

* WebKit1.pro:

Source/WebKit2:

Patch by Poul Sysolyatin <psytonx@gmail.com> on 2013-01-17
Reviewed by Benjamin Poulain.

* Target.pri:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG Node::ref() and Node::deref() should not return bool, and should have postfixRef variants
https://bugs.webkit.org/show_bug.cgi?id=107147

Reviewed by Mark Hahnenberg.
        
This small refactoring will enable a world where ref() returns Node*, which is useful for
https://bugs.webkit.org/show_bug.cgi?id=106868.  Also, while this refactoring does lead to
slightly less terse code, it's also slightly more self-explanatory.  I could never quite
remember what the meaning of the bool return from ref() and deref() was.

* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::collectGarbage):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::ref):
(JSC::DFG::Graph::deref):
* dfg/DFGNode.h:
(JSC::DFG::Node::ref):
(Node):
(JSC::DFG::Node::postfixRef):
(JSC::DFG::Node::deref):
(JSC::DFG::Node::postfixDeref):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140030 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Objective-C API: Clean up JSValue
https://bugs.webkit.org/show_bug.cgi?id=107156

Reviewed by Oliver Hunt.

JSContext m_protectCounts, protect, unprotect are all now unnecessary overhead, and should all be removed.  
These exist to handle the context going away before the value does; the context needs to be able to unprotect 
values early.  Since the value is now keeping the context alive there is no longer any danger of this happening; 
instead we should just protect/unprotect the value in JSValue's init/dealloc methods.

* API/JSContext.mm:
(-[JSContext dealloc]):
* API/JSContextInternal.h:
* API/JSValue.mm:
(-[JSValue initWithValue:inContext:]):
(-[JSValue dealloc]):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
MathML padding overrides only need to be on RenderMathMLRoot
https://bugs.webkit.org/show_bug.cgi?id=107151

Reviewed by Tony Chang.

RenderMathMLRoot is the only class that uses these.
No need for them to be on the generic MathML superclass.

* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::RenderMathMLBlock):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::RenderMathMLRoot):
(WebCore::RenderMathMLRoot::paddingTop):
(WebCore::RenderMathMLRoot::paddingBottom):
(WebCore::RenderMathMLRoot::paddingLeft):
(WebCore::RenderMathMLRoot::paddingRight):
(WebCore::RenderMathMLRoot::paddingBefore):
(WebCore::RenderMathMLRoot::paddingAfter):
(WebCore::RenderMathMLRoot::paddingStart):
(WebCore::RenderMathMLRoot::paddingEnd):
* rendering/mathml/RenderMathMLRoot.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140032 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove an incorrect ASSERT() after r140002.

Reviewed by Simon Fraser.

setRootCompositingLayer(null) is valid now.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140033 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Layout test rebaselines.

Not reviewed. Rebaselines to fix build.

* platform/chromium-mac-snowleopard/svg/custom/foreign-object-skew-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140034 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Double-tap zoom should take into account accessibility fontScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=107123

Patch by John Mellor <johnme@chromium.org> on 2013-01-17
Reviewed by Adam Barth.

Platforms which support Text Autosizing (currently just Chrome for
Android) may provide a textAutosizingFontScaleFactor (defaults to 1.0).

This value is intended to be chosen by the user to indicate how large
they want text to appear, for example Chrome for Android has a "Text
scaling" slider in Settings > Accessibility that lets you choose a value
in the range 50% - 200% (defaults to 100%*).

For text in wide columns that typically gets autosized, this value is
applied by multiplying the textAutosizingMultiplier computed for each
cluster by the textAutosizingFontScaleFactor. Double-tap zoom will fit
the column to the screen (ignoring the textAutosizingFontScaleFactor)
since the column is wide. This part already works.

For text in narrow columns that doesn't get autosized, the
textAutosizingFontScaleFactor is not applied through Text Autosizing,
and instead needs to be applied by adjusting the double-tap zoom level.
When double-tapping on narrow columns, instead of fitting the column to
the screen (which would often zoom in excessively far), the existing
logic in computeScaleAndScrollForHitRect applies a maximum zoom level
called the legibleScale. This value needs to be multiplied by the
textAutosizingFontScaleFactor, so that we zoom in proportionately
further on non-autosized narrow columns, hence the effective text size
(taking into account zoom) will have increased in proportion to the
textAutosizingFontScaleFactor as expected.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
    Multiplies legibleScale (the maximum zoom level) by the
    textAutosizingFontScaleFactor.
* tests/WebFrameTest.cpp:
    Added WebFrameTest.DivAutoZoomScaleFontScaleFactorTest based on
    WebFrameTest.DivAutoZoomScaleBoundsTest to test the interaction
    between textAutosizingFontScaleFactor and the double-tap zoom logic.
    Also did minor cleanup to WebFrameTest.DivAutoZoomScaleBoundsTest.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140035 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove unused finishWasCalled() method
https://bugs.webkit.org/show_bug.cgi?id=107148

Reviewed by Eric Seidel.

Based on patch by Eric Seidel.

No new tests because no new functionality.

* dom/DocumentParser.h:
(DocumentParser):
* dom/RawDataDocumentParser.h:
(WebCore::RawDataDocumentParser::append):
* html/parser/HTMLDocumentParser.cpp:
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
* html/parser/HTMLViewSourceParser.cpp:
* html/parser/HTMLViewSourceParser.h:
(HTMLViewSourceParser):
* xml/parser/NewXMLDocumentParser.cpp:
(WebCore::NewXMLDocumentParser::NewXMLDocumentParser):
(WebCore::NewXMLDocumentParser::finish):
* xml/parser/NewXMLDocumentParser.h:
(NewXMLDocumentParser):
* xml/parser/XMLDocumentParser.cpp:
* xml/parser/XMLDocumentParser.h:
(XMLDocumentParser):


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