Changeset 213470 in webkit
- Timestamp:
- Mar 6, 2017, 2:56:43 PM (8 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/Source/WebCore/ChangeLog ¶
r213469 r213470 1 2017-03-06 Alex Christensen <achristensen@webkit.org> 2 3 Refactor ContentExtensionParser 4 https://bugs.webkit.org/show_bug.cgi?id=169214 5 6 Reviewed by Brady Eidson. 7 8 No change in behavior, as verified by existing API tests. 9 This will make it easier to use getStringList for other things in coming patches. 10 11 * contentextensions/ContentExtensionParser.cpp: 12 (WebCore::ContentExtensions::getStringList): 13 (WebCore::ContentExtensions::getDomainList): 14 1 15 2017-03-06 Alex Christensen <achristensen@webkit.org> 2 16 -
TabularUnified trunk/Source/WebCore/contentextensions/ContentExtensionParser.cpp ¶
r213322 r213470 60 60 } 61 61 62 static Expected<Vector<String>, std::error_code> get DomainList(ExecState& exec, const JSObject* arrayObject)62 static Expected<Vector<String>, std::error_code> getStringList(ExecState& exec, const JSObject* arrayObject, ContentExtensionError error) 63 63 { 64 64 VM& vm = exec.vm(); … … 66 66 67 67 if (!arrayObject || !isJSArray(arrayObject)) 68 return makeUnexpected( ContentExtensionError::JSONInvalidDomainList);68 return makeUnexpected(error); 69 69 const JSArray* array = jsCast<const JSArray*>(arrayObject); 70 70 … … 74 74 const JSValue value = array->getIndex(&exec, i); 75 75 if (scope.exception() || !value.isString()) 76 return makeUnexpected( ContentExtensionError::JSONInvalidDomainList);76 return makeUnexpected(error); 77 77 78 // Domains should be punycode encoded lower case.79 78 const String& domain = asString(value)->value(&exec); 80 79 if (domain.isEmpty()) 81 return makeUnexpected(ContentExtensionError::JSONInvalidDomainList); 80 return makeUnexpected(error); 81 domains.append(domain); 82 } 83 return WTFMove(domains); 84 } 85 86 static Expected<Vector<String>, std::error_code> getDomainList(ExecState& exec, const JSObject* arrayObject) 87 { 88 auto strings = getStringList(exec, arrayObject, ContentExtensionError::JSONInvalidDomainList); 89 if (!strings.hasValue()) 90 return strings; 91 for (auto& domain : strings.value()) { 92 // Domains should be punycode encoded lower case. 82 93 if (!containsOnlyASCIIWithNoUppercase(domain)) 83 94 return makeUnexpected(ContentExtensionError::JSONDomainNotLowerCaseASCII); 84 domains.append(domain); 85 } 86 return WTFMove(domains); 95 } 96 return strings; 87 97 } 88 98
Note:
See TracChangeset
for help on using the changeset viewer.