Changeset 82934 in webkit


Ignore:
Timestamp:
Apr 5, 2011 6:38:17 AM (13 years ago)
Author:
Nikolas Zimmermann
Message:

2011-04-05 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Andreas Kling.

Switch from Vector<UChar> to StringBuilder in accessibility/
https://bugs.webkit.org/show_bug.cgi?id=57837

  • accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition): (WebCore::AccessibilityObject::stringForVisiblePositionRange):
  • accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r82932 r82934  
     12011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
     2
     3        Reviewed by Andreas Kling.
     4
     5        Switch from Vector<UChar> to StringBuilder in accessibility/
     6        https://bugs.webkit.org/show_bug.cgi?id=57837
     7
     8        * accessibility/AccessibilityObject.cpp:
     9        (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
     10        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
     11        * accessibility/AccessibilityRenderObject.cpp:
     12        (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
     13
    1142011-04-05  Andrey Adaikin  <aandrey@google.com>
    215
  • trunk/Source/WebCore/accessibility/AccessibilityObject.cpp

    r80059 r82934  
    5353#include "visible_units.h"
    5454#include <wtf/StdLibExtras.h>
     55#include <wtf/text/StringBuilder.h>
     56#include <wtf/text/StringConcatenate.h>
    5557#include <wtf/unicode/CharacterNames.h>
    5658
     
    431433    // FIXME: Not all list marker styles are followed by a period, but this
    432434    // sounds much better when there is a synthesized pause because of a period.
    433     Vector<UChar> resultVector;
    434     resultVector.append(markerText.characters(), markerText.length());
    435     resultVector.append('.');
    436     resultVector.append(' ');
    437    
    438     return String::adopt(resultVector);
     435    return makeString(markerText, ". ");
    439436}
    440437   
     
    444441        return String();
    445442
    446     Vector<UChar> resultVector;
     443    StringBuilder builder;
    447444    RefPtr<Range> range = makeRange(visiblePositionRange.start, visiblePositionRange.end);
    448445    for (TextIterator it(range.get()); !it.atEnd(); it.advance()) {
     
    452449            String listMarkerText = listMarkerTextForNodeAndPosition(it.node(), visiblePositionRange.start);
    453450            if (!listMarkerText.isEmpty())
    454                 resultVector.append(listMarkerText.characters(), listMarkerText.length());
    455                
    456             resultVector.append(it.characters(), it.length());
     451                builder.append(listMarkerText);
     452
     453            builder.append(it.characters(), it.length());
    457454        } else {
    458455            // locate the node and starting offset for this replaced range
     
    463460
    464461            if (replacedNodeNeedsCharacter(node->childNode(offset)))
    465                 resultVector.append(objectReplacementCharacter);
     462                builder.append(objectReplacementCharacter);
    466463        }
    467464    }
    468465
    469     return String::adopt(resultVector);
     466    return builder.toString();
    470467}
    471468
  • trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp

    r82886 r82934  
    7878#include "visible_units.h"
    7979#include <wtf/StdLibExtras.h>
     80#include <wtf/text/StringBuilder.h>
    8081#include <wtf/unicode/CharacterNames.h>
    8182
     
    11771178String AccessibilityRenderObject::accessibilityDescriptionForElements(Vector<Element*> &elements) const
    11781179{
    1179     Vector<UChar> ariaLabel;
     1180    StringBuilder builder;
    11801181    unsigned size = elements.size();
    11811182    for (unsigned i = 0; i < size; ++i) {
    11821183        Element* idElement = elements[i];
    1183        
    1184         String nameFragment = accessibleNameForNode(idElement);
    1185         ariaLabel.append(nameFragment.characters(), nameFragment.length());
    1186         for (Node* n = idElement->firstChild(); n; n = n->traverseNextNode(idElement)) {
    1187             nameFragment = accessibleNameForNode(n);
    1188             ariaLabel.append(nameFragment.characters(), nameFragment.length());
    1189         }
    1190            
     1184
     1185        builder.append(accessibleNameForNode(idElement));
     1186        for (Node* n = idElement->firstChild(); n; n = n->traverseNextNode(idElement))
     1187            builder.append(accessibleNameForNode(n));
     1188
    11911189        if (i != size - 1)
    1192             ariaLabel.append(' ');
    1193     }
    1194     return String::adopt(ariaLabel);
    1195 }
    1196 
    1197    
     1190            builder.append(' ');
     1191    }
     1192    return builder.toString();
     1193}
     1194
    11981195void AccessibilityRenderObject::elementsFromAttribute(Vector<Element*>& elements, const QualifiedName& attribute) const
    11991196{
Note: See TracChangeset for help on using the changeset viewer.