Index: third_party/WebKit/Source/platform/v8_inspector/V8StringUtil.cpp |
diff --git a/third_party/WebKit/Source/platform/v8_inspector/V8StringUtil.cpp b/third_party/WebKit/Source/platform/v8_inspector/V8StringUtil.cpp |
index 037d91036cfde855929d872547f885e08063f6cf..d98dad6da99698cec59f6de548cc362a1ae0d35d 100644 |
--- a/third_party/WebKit/Source/platform/v8_inspector/V8StringUtil.cpp |
+++ b/third_party/WebKit/Source/platform/v8_inspector/V8StringUtil.cpp |
@@ -68,11 +68,11 @@ String16 findMagicComment(const String16& content, const String16& name, bool mu |
size_t newLine = match.find("\n"); |
if (newLine != kNotFound) |
match = match.substring(0, newLine); |
- match = match.stripWhiteSpace(); |
+ match = protocol::string16StripWhiteSpace(match); |
- String16 disallowedChars("\"' \t"); |
for (unsigned i = 0; i < match.length(); ++i) { |
- if (disallowedChars.find(match[i]) != kNotFound) |
+ UChar c = match[i]; |
+ if (c == '"' || c == '\'' || c == ' ' || c == '\t') |
return ""; |
} |
@@ -85,8 +85,12 @@ String16 createSearchRegexSource(const String16& text) |
String16 specials("[](){}+-*.,?\\^$|"); |
for (unsigned i = 0; i < text.length(); i++) { |
- if (specials.find(text[i]) != kNotFound) |
+ UChar c = text[i]; |
+ if (c == '[' || c == ']' || c == '(' || c == ')' || c == '{' || c == '}' |
+ || c == '+' || c == '-' || c == '*' || c == '.' || c == ',' || c == '?' |
+ || c == '\\' || c == '^' || c == '$' || c == '|') { |
result.append('\\'); |
+ } |
result.append(text[i]); |
} |
@@ -97,9 +101,10 @@ std::unique_ptr<std::vector<unsigned>> lineEndings(const String16& text) |
{ |
std::unique_ptr<std::vector<unsigned>> result(new std::vector<unsigned>()); |
+ String16 lineEndString = "\n"; |
kozy
2016/08/09 16:40:37
const String16
|
unsigned start = 0; |
while (start < text.length()) { |
- size_t lineEnd = text.find('\n', start); |
+ size_t lineEnd = text.find(lineEndString, start); |
if (lineEnd == kNotFound) |
break; |
@@ -123,7 +128,7 @@ std::vector<std::pair<int, String16>> scriptRegexpMatchesByLines(const V8Regex& |
for (unsigned lineNumber = 0; lineNumber < size; ++lineNumber) { |
unsigned lineEnd = endings->at(lineNumber); |
String16 line = text.substring(start, lineEnd - start); |
- if (line.endsWith('\r')) |
+ if (line.length() && line[line.length() - 1] == '\r') |
line = line.substring(0, line.length() - 1); |
int matchLength; |