diff options
author | Maximilian Goldstein <max.goldstein@qt.io> | 2020-04-09 13:34:01 +0200 |
---|---|---|
committer | Maximilian Goldstein <max.goldstein@qt.io> | 2020-05-06 10:45:48 +0200 |
commit | a714a3a446a47b3ac18de6cea1e6c4ca01535170 (patch) | |
tree | 2569eb6ec42f4b537bc18477b88d9a718f444012 /src/qml/jsruntime/qv4engine.cpp | |
parent | 22f9e5fb1ed643f284f50b9417bdbafdfb20566b (diff) |
Implement URLSearchParams
Implements URLSearchParams (https://url.spec.whatwg.org/#urlsearchparams),
completing our implementation of the URL object.
Still needs the for..of iterator to get implemented.
Change-Id: Iad33ed2f3fe0b2598ca2b0b21a4743f5f7dc19fd
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4engine.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4engine.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp index fec1524667..6a583bf395 100644 --- a/src/qml/jsruntime/qv4engine.cpp +++ b/src/qml/jsruntime/qv4engine.cpp @@ -657,6 +657,8 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine) jsObjects[Url_Ctor] = memoryManager->allocate<UrlCtor>(global); jsObjects[UrlProto] = memoryManager->allocate<UrlPrototype>(); + jsObjects[UrlSearchParams_Ctor] = memoryManager->allocate<UrlSearchParamsCtor>(global); + jsObjects[UrlSearchParamsProto] = memoryManager->allocate<UrlSearchParamsPrototype>(); str = newString(QStringLiteral("get [Symbol.species]")); jsObjects[GetSymbolSpecies] = FunctionObject::createBuiltinFunction(this, str, ArrayPrototype::method_get_species, 0); @@ -680,6 +682,7 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine) static_cast<TypeErrorPrototype *>(typeErrorPrototype())->init(this, typeErrorCtor()); static_cast<URIErrorPrototype *>(uRIErrorPrototype())->init(this, uRIErrorCtor()); static_cast<UrlPrototype *>(urlPrototype())->init(this, urlCtor()); + static_cast<UrlSearchParamsPrototype *>(urlSearchParamsPrototype())->init(this, urlSearchParamsCtor()); static_cast<IteratorPrototype *>(iteratorPrototype())->init(this); static_cast<ForInIteratorPrototype *>(forInIteratorPrototype())->init(this); @@ -770,6 +773,7 @@ ExecutionEngine::ExecutionEngine(QJSEngine *jsEngine) globalObject->defineDefaultProperty(QStringLiteral("URIError"), *uRIErrorCtor()); globalObject->defineDefaultProperty(QStringLiteral("Promise"), *promiseCtor()); globalObject->defineDefaultProperty(QStringLiteral("URL"), *urlCtor()); + globalObject->defineDefaultProperty(QStringLiteral("URLSearchParams"), *urlSearchParamsCtor()); globalObject->defineDefaultProperty(QStringLiteral("SharedArrayBuffer"), *sharedArrayBufferCtor()); globalObject->defineDefaultProperty(QStringLiteral("ArrayBuffer"), *arrayBufferCtor()); @@ -1064,6 +1068,11 @@ Heap::UrlObject *ExecutionEngine::newUrlObject() return memoryManager->allocate<UrlObject>(); } +Heap::UrlSearchParamsObject *ExecutionEngine::newUrlSearchParamsObject() +{ + return memoryManager->allocate<UrlSearchParamsObject>(); +} + Heap::Object *ExecutionEngine::newErrorObject(const Value &value) { return ErrorObject::create<ErrorObject>(this, value, errorCtor()); |