Changeset 213470 in webkit


Ignore:
Timestamp:
Mar 6, 2017, 2:56:43 PM (8 years ago)
Author:
achristensen@apple.com
Message:

Refactor ContentExtensionParser
https://bugs.webkit.org/show_bug.cgi?id=169214

Reviewed by Brady Eidson.

No change in behavior, as verified by existing API tests.
This will make it easier to use getStringList for other things in coming patches.

  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::getStringList):
(WebCore::ContentExtensions::getDomainList):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/Source/WebCore/ChangeLog

    r213469 r213470  
     12017-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
    1152017-03-06  Alex Christensen  <achristensen@webkit.org>
    216
  • TabularUnified trunk/Source/WebCore/contentextensions/ContentExtensionParser.cpp

    r213322 r213470  
    6060}
    6161   
    62 static Expected<Vector<String>, std::error_code> getDomainList(ExecState& exec, const JSObject* arrayObject)
     62static Expected<Vector<String>, std::error_code> getStringList(ExecState& exec, const JSObject* arrayObject, ContentExtensionError error)
    6363{
    6464    VM& vm = exec.vm();
     
    6666
    6767    if (!arrayObject || !isJSArray(arrayObject))
    68         return makeUnexpected(ContentExtensionError::JSONInvalidDomainList);
     68        return makeUnexpected(error);
    6969    const JSArray* array = jsCast<const JSArray*>(arrayObject);
    7070   
     
    7474        const JSValue value = array->getIndex(&exec, i);
    7575        if (scope.exception() || !value.isString())
    76             return makeUnexpected(ContentExtensionError::JSONInvalidDomainList);
     76            return makeUnexpected(error);
    7777       
    78         // Domains should be punycode encoded lower case.
    7978        const String& domain = asString(value)->value(&exec);
    8079        if (domain.isEmpty())
    81             return makeUnexpected(ContentExtensionError::JSONInvalidDomainList);
     80            return makeUnexpected(error);
     81        domains.append(domain);
     82    }
     83    return WTFMove(domains);
     84}
     85
     86static 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.
    8293        if (!containsOnlyASCIIWithNoUppercase(domain))
    8394            return makeUnexpected(ContentExtensionError::JSONDomainNotLowerCaseASCII);
    84         domains.append(domain);
    85     }
    86     return WTFMove(domains);
     95    }
     96    return strings;
    8797}
    8898
Note: See TracChangeset for help on using the changeset viewer.