Avoid parent style ref churn in createTextRendererIfNeeded().
<https://webkit.org/b/123148>

There's no need to take a temporary ref on the parent's RenderStyle
while creating a text renderer. It's not going away, and the text
renderer is not going to participate in ownership afterwards.

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157785 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSSValueList constructor functions should return PassRef.
<https://webkit.org/b/123151>

These functions always return objects, and thus can return PassRef.
Also made CSSValueList::createFromParserValueList() take a reference
since that function is only ever called with a non-null value.

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Merge SVG renderers' styleWillChange() into styleDidChange().
<https://webkit.org/b/123108>

This work can just as well be done after setting the style.
Three more styleWillChange() overloads gone.

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157787 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix some more code to use RenderElement instead of RenderObject.
<https://webkit.org/b/123149>

Using RenderElement where possible lets us skip the isRenderElement()
branch in RenderObject::style() and generates much tighter code.

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[sh4] Add missing lastRegister(), firstFPRegister() and lastFPRegister().
https://bugs.webkit.org/show_bug.cgi?id=123157

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-22
Reviewed by Andreas Kling.

* assembler/SH4Assembler.h:
(JSC::SH4Assembler::lastRegister):
(JSC::SH4Assembler::firstFPRegister):
(JSC::SH4Assembler::lastFPRegister):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157789 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FontGlyphs constructor functions should return PassRef.
<https://webkit.org/b/123159>

Made the two FontGlyphs creator functions return PassRef and tweaked
the FontGlyphsCache in Font.cpp to make more efficient use of it.

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157790 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CTTE: RenderMathMLFraction always has a MathMLInlineContainerElement.
<https://webkit.org/b/123154>

This renderer is never anonymous and always has a corresponding
MathMLInlineContainerElement. Overload element() with a tighter
return type.

Also marked the class FINAL and made most member functions private.

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157791 268f45cc-cd09-0410-ab3c-d52691b4dbfc
CSSStyleSheet constructor functions should return PassRef.
<https://webkit.org/b/123156>

Make CSSStyleSheet::create*() return PassRef and tighten some call
sites that were using them. Most callers didn't need any tweaks to
take advantage of PassRef.

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157792 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Regions] Possible performance regression after r157567
https://bugs.webkit.org/show_bug.cgi?id=123016

Reviewed by Andreas Kling.

The revision 157567 http://trac.webkit.org/changeset/157567 may have regressed
Parser/html5-full-render by ~1.1% and Parser/html-parser by ~2%. These changes
try to optimize the initial patch, based on Andreas Kling's review.

The patch also adds a couple of refactorings that should make the code easier to read:
- the CSS Shapes functions are now wrapped in a single #if clause
- the CSS Shapes and CSS Regions pre-layout preparations are wrapped in a helper function

The RenderFlowThread::logicalWidthChangedInRegionsForBlock function is optimized by passing
it information about the state of the relayout children flag. If the flag is true already,
some of the steps are skipped.

Tests: no new tests.

* dom/Element.cpp:
(WebCore::Element::webkitGetRegionFlowRanges):
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementInfo):
* rendering/RenderBlock.cpp:
(WebCore::shapeInfoRequiresRelayout):
(WebCore::RenderBlock::updateShapesBeforeBlockLayout):
(WebCore::RenderBlock::computeShapeSize):
(WebCore::RenderBlock::prepareShapesAndPaginationBeforeBlockLayout):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::createRenderNamedFlowFragmentIfNeeded):
(WebCore::RenderBlockFlow::setRenderNamedFlowFragment):
(WebCore::RenderBlockFlow::ensureRareData):
* rendering/RenderBlockFlow.h:
(WebCore::RenderBlockFlow::RenderBlockFlowRareData::RenderBlockFlowRareData):
(WebCore::RenderElement::isRenderNamedFlowFragmentContainer):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
* rendering/RenderElement.h:
(WebCore::RenderElement::generatingElement):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
* rendering/RenderFlowThread.h:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
* rendering/RenderNamedFlowFragment.h:
* rendering/RenderObject.cpp:
* rendering/RenderObject.h:
* rendering/RenderTreeAsText.cpp:
(WebCore::write):
* style/StyleResolveTree.cpp:
(WebCore::Style::elementInsideRegionNeedsRenderer):


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