AX: [ATK] <span> elements exposed through ATK when not needed
https://bugs.webkit.org/show_bug.cgi?id=123885

Reviewed by Chris Fleizach.

Source/WebCore:

As per SVN r158195, the way it's decided whether <span> elements
should be ignored or not has slightly changed, causing that the
GTK/EFL ports expose them in cases that they should be ignored,
such as for text elements that neither are focusable (e.g. by
explicitly setting tabindex) nor have a meaningful accessible name
suggesting they should be exposed.

As a result, the flattening that ATK based ports normally do for
this kind of elements (by folding them into their parents) do not
work correctly anymore, making two tests to fail:

    platform/gtk/accessibility/spans-paragraphs-and-divs.html
    platform/gtk/accessibility/spans.html

This patch encapsulates the part of the logic that affects this in
the computeAccessibilityIsIgnored() method, placing it in a
new method of AccessibilityObject that we can call from ATK's
accessibilityPlatformIncludesObject() to ensure we hide those
<span> elements when they don't fulfill those requirements.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::hasAttributesRequiredForInclusion):
New virtual method encapsulating part of the logic from the function
that computes whether accessibility should be ignored or not.
* accessibility/AccessibilityObject.h:

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::hasAttributesRequiredForInclusion):
Override of the new method adding additional checks, as extracted from
the original bits in computeAccessibilityIsIgnored().
* accessibility/AccessibilityNodeObject.h:

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
Use the newly added function where we had the original code before.

* accessibility/atk/AccessibilityObjectAtk.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Make sure <span> elements are ignored if they are not focusable
and they don't have a meaningful accessible name.

LayoutTests:

Removed failure expectations for tests now passing.

* platform/gtk/TestExpectations: Removed expectations.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158914 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[arm] Use specific PatchableJump implementation for CPU(ARM_TRADITIONAL).
https://bugs.webkit.org/show_bug.cgi?id=123891

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-08
Reviewed by Michael Saboff.

Although patchableBranch32 is implemented in MacroAssemblerARM.h, the used implementation
is the generic one in MacroAssembler.h. This patch fixes it and also implements the
patchableJump() function for CPU(ARM_TRADITIONAL). These specific implementations are
needed for this architecture backend to ensure that these jumps can be relinked.

* assembler/MacroAssembler.h:
* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::patchableJump):
* jit/GPRInfo.h: Remove static_cast that are generating warnings in debug builds.
(JSC::GPRInfo::toIndex):
(JSC::GPRInfo::debugName):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158915 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[mips] Fix typo (introduced in r158751).
https://bugs.webkit.org/show_bug.cgi?id=124033.

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-08
Reviewed by Csaba Osztrogonác.

* jit/ThunkGenerators.cpp:
(JSC::callToJavaScript):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158916 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] accessibility/aria-link-supports-press.html
https://bugs.webkit.org/show_bug.cgi?id=111987

Unreviewed EFL gardening, passes after r158913.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-11-08

* platform/efl-wk1/TestExpectations: test is no longer failing.
* platform/efl-wk2/TestExpectations: test is no longer failing.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158917 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Templated LChar/UChar paths for simple line layout
https://bugs.webkit.org/show_bug.cgi?id=124035

Reviewed by Andreas Kling.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForText):
(WebCore::SimpleLineLayout::canUseFor):
        
    Use a templated function to check for illegal characters.

(WebCore::SimpleLineLayout::skipWhitespaces):
        
    Make a template function.

(WebCore::SimpleLineLayout::textWidth):
        
    Make a template function plus some argument changes.

(WebCore::SimpleLineLayout::createTextRuns):
        
    Template function for creating runs while operating with either LChars or UChar.
    Also simplified line breaking and text width measuring logic.

(WebCore::SimpleLineLayout::create):
        
    Pick the template.

* rendering/break_lines.cpp:
* rendering/break_lines.h:
        
    Move the implementation to the header (except for the table) so we can use the template
    versions directly.

(WebCore::isBreakableSpace):
(WebCore::shouldBreakAfter):
(WebCore::needsLineBreakIterator):
(WebCore::nextBreakablePosition):
(WebCore::nextBreakablePositionIgnoringNBSP):



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