Changeset 86553 in webkit


Ignore:
Timestamp:
May 16, 2011 3:20:34 AM (13 years ago)
Author:
Nikolas Zimmermann
Message:

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

Reviewed by Darin Adler.

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

  • dom/DatasetDOMStringMap.cpp: (WebCore::convertAttributeNameToPropertyName): (WebCore::convertPropertyNameToAttributeName):
  • dom/Range.cpp: (WebCore::Range::toString):
  • dom/ScriptElement.cpp: (WebCore::ScriptElement::scriptContent):
Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r86552 r86553  
     12011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
     2
     3        Reviewed by Darin Adler.
     4
     5        Switch from Vector<UChar> to StringBuilder in dom/
     6        https://bugs.webkit.org/show_bug.cgi?id=57843
     7
     8        * dom/DatasetDOMStringMap.cpp:
     9        (WebCore::convertAttributeNameToPropertyName):
     10        (WebCore::convertPropertyNameToAttributeName):
     11        * dom/Range.cpp:
     12        (WebCore::Range::toString):
     13        * dom/ScriptElement.cpp:
     14        (WebCore::ScriptElement::scriptContent):
     15
    1162011-05-05  Pavel Podivilov  <podivilov@chromium.org>
    217
  • trunk/Source/WebCore/dom/DatasetDOMStringMap.cpp

    r82332 r86553  
    3232#include "NamedNodeMap.h"
    3333#include <wtf/ASCIICType.h>
     34#include <wtf/text/StringBuilder.h>
    3435
    3536namespace WebCore {
     
    5253static String convertAttributeNameToPropertyName(const String& name)
    5354{
    54     Vector<UChar> newStringBuffer;
     55    StringBuilder stringBuilder;
    5556
    5657    const UChar* characters = name.characters();
     
    5859    for (unsigned i = 5; i < length; ++i) {
    5960        if (characters[i] != '-')
    60             newStringBuffer.append(characters[i]);
     61            stringBuilder.append(characters[i]);
    6162        else {
    6263            if ((i + 1 < length) && isASCIILower(characters[i + 1])) {
    63                 newStringBuffer.append(toASCIIUpper(characters[i + 1]));
     64                stringBuilder.append(toASCIIUpper(characters[i + 1]));
    6465                ++i;
    6566            } else
    66                 newStringBuffer.append(characters[i]);
    67         }
    68     }
    69 
    70     return String::adopt(newStringBuffer);
     67                stringBuilder.append(characters[i]);
     68        }
     69    }
     70
     71    return stringBuilder.toString();
    7172}
    7273
     
    112113static String convertPropertyNameToAttributeName(const String& name)
    113114{
    114     Vector<UChar> newStringBuffer;
    115 
    116     newStringBuffer.append('d');
    117     newStringBuffer.append('a');
    118     newStringBuffer.append('t');
    119     newStringBuffer.append('a');
    120     newStringBuffer.append('-');
     115    StringBuilder builder;
     116    builder.append("data-");
    121117
    122118    const UChar* characters = name.characters();
    123119    unsigned length = name.length();
    124120    for (unsigned i = 0; i < length; ++i) {
    125         if (isASCIIUpper(characters[i])) {
    126             newStringBuffer.append('-');
    127             newStringBuffer.append(toASCIILower(characters[i]));
     121        UChar character = characters[i];
     122        if (isASCIIUpper(character)) {
     123            builder.append('-');
     124            builder.append(toASCIILower(characters[i]));
    128125        } else
    129             newStringBuffer.append(characters[i]);
    130     }
    131 
    132     return String::adopt(newStringBuffer);
    133 }
    134 
     126            builder.append(character);
     127    }
     128
     129    return builder.toString();
     130}
    135131
    136132void DatasetDOMStringMap::ref()
  • trunk/Source/WebCore/dom/Range.cpp

    r86451 r86553  
    4949#include <wtf/Vector.h>
    5050#include <wtf/text/CString.h>
     51#include <wtf/text/StringBuilder.h>
    5152
    5253namespace WebCore {
     
    10461047    }
    10471048
    1048     Vector<UChar> result;
     1049    StringBuilder builder;
    10491050
    10501051    Node* pastLast = pastLastNode();
     
    10551056            int start = (n == m_start.container()) ? min(max(0, m_start.offset()), length) : 0;
    10561057            int end = (n == m_end.container()) ? min(max(start, m_end.offset()), length) : length;
    1057             result.append(data.characters() + start, end - start);
    1058         }
    1059     }
    1060 
    1061     return String::adopt(result);
     1058            builder.append(data.characters() + start, end - start);
     1059        }
     1060    }
     1061
     1062    return builder.toString();
    10621063}
    10631064
  • trunk/Source/WebCore/dom/ScriptElement.cpp

    r84371 r86553  
    4343#include "Text.h"
    4444#include <wtf/StdLibExtras.h>
     45#include <wtf/text/StringBuilder.h>
    4546#include <wtf/text/StringHash.h>
    4647
     
    336337String ScriptElement::scriptContent() const
    337338{
    338     Vector<UChar> val;
     339    StringBuilder content;
    339340    Text* firstTextNode = 0;
    340341    bool foundMultipleTextNodes = false;
     
    346347        Text* t = static_cast<Text*>(n);
    347348        if (foundMultipleTextNodes)
    348             append(val, t->data());
     349            content.append(t->data());
    349350        else if (firstTextNode) {
    350             append(val, firstTextNode->data());
    351             append(val, t->data());
     351            content.append(firstTextNode->data());
     352            content.append(t->data());
    352353            foundMultipleTextNodes = true;
    353354        } else
     
    358359        return firstTextNode->data();
    359360
    360     return String::adopt(val);
     361    return content.toString();
    361362}
    362363
Note: See TracChangeset for help on using the changeset viewer.