AX: VoiceOver only read the first column in a safari table
https://bugs.webkit.org/show_bug.cgi?id=118992

Reviewed by Tim Horton.

Source/WebCore: 

In case the first section has fewer columns than the rest of the table, the AXTable was only reporting the number of
columns for the first section. We need to take the max number of columns out of all sections.

Test: accessibility/table-with-mismatch-column-count-in-initial-section.html

* accessibility/AccessibilityTable.cpp:
(WebCore::AccessibilityTable::addChildren):

LayoutTests: 

* accessibility/table-with-mismatch-column-count-in-initial-section-expected.txt: Added.
* accessibility/table-with-mismatch-column-count-in-initial-section.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
segfault in RenderLayerCompositor when the iframe's position attribute is changed and it embeds <object>.
https://bugs.webkit.org/show_bug.cgi?id=118965

Patch by Zalan Bujtas <zalan@apple.com> on 2013-07-22
Reviewed by Simon Fraser.

Do not change the composition state unless we can reliably figure out the iframe's size.
If the renderer is not yet attached, its size is not computable.

Source/WebCore:

Test: compositing/iframes/iframe-position-absolute-with-padding-percentage-crash.html

* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForFrame):

LayoutTests:

* compositing/iframes/iframe-position-absolute-with-padding-percentage-crash-expected.txt: Added.
* compositing/iframes/iframe-position-absolute-with-padding-percentage-crash.html: Added.
* compositing/iframes/resources/embed-tag-with-composition.html: Added.
* platform/efl/TestExpectations: skip
* platform/efl-wk2/TestExpectations: skip
* platform/qt-5.0-wk1/TestExpectations: skip
* platform/qt-5.0-wk2/TestExpectations: skip

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153003 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Do not allocate 2 AtomicString just to do a comparison in HTMLAnchorElement::setRel()
https://bugs.webkit.org/show_bug.cgi?id=118941

Reviewed by Gavin Barraclough.

Currently, the only type of link relation supported by HTMLAnchorElement is RelationNoReferrer.

To find the value, we create a SpaceSplitString with the input value of the attribute (which
create one or more AtomicString depending on the input). Then we create a new AtomicString for
the literal "noreferrer". Finally, we compare the pointers and throw away all the AtomicStrings.

This causes a lot of memory operations for something really simple.

This patch adds a little helper method to SpaceSplitString to find a literal in the input. The only
allocation happens if we need to foldCase(). The following operations are done without allocating
new buffer and without hashing the input.

* dom/SpaceSplitString.cpp:
(WebCore::tokenizeSpaceSplitString):
(WebCore::AppendTokenToVectorTokenProcessor::AppendTokenToVectorTokenProcessor):
(WebCore::AppendTokenToVectorTokenProcessor::processToken):
(WebCore::SpaceSplitStringData::createVector):
(WebCore::TokenIsEqualToCStringTokenProcessor::TokenIsEqualToCStringTokenProcessor):
(WebCore::TokenIsEqualToCStringTokenProcessor::processToken):
(WebCore::TokenIsEqualToCStringTokenProcessor::referenceStringWasFound):
(WebCore::SpaceSplitString::spaceSplitStringContainsValue):
* dom/SpaceSplitString.h:
(WebCore::SpaceSplitString::spaceSplitStringContainsValue):
* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::setRel):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
String::lower() - Skip to slow path on the first failure
https://bugs.webkit.org/show_bug.cgi?id=118885

Reviewed by Andreas Kling.

In the 8 bits case, we don't need to know the state of the full string before changing characters
to their lowercase variant.
Just fail immediately and start transforming characters from the point of failure.

This avoid reading the string twice when the uppercase character is not at the end of the string.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::lower):


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