Commit 21152334 authored by Ingvar Stepanyan's avatar Ingvar Stepanyan Committed by Commit Bot

Use native parser for Runtime.queryParam

Switches custom string splitting to URLSearchParams, which both makes code simpler and fixes parsing of percent-encoded URL params.

Change-Id: I839689382cf6b3a7f55be3b08e03f35c8f81c520
Reviewed-on: https://chromium-review.googlesource.com/c/1318533
Commit-Queue: Ingvar Stepanyan <ingvar@cloudflare.com>
Reviewed-by: default avatarJoel Einbinder <einbinder@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605961}
parent f776d747
...@@ -309,7 +309,7 @@ var Runtime = class { // eslint-disable-line ...@@ -309,7 +309,7 @@ var Runtime = class { // eslint-disable-line
* @return {?string} * @return {?string}
*/ */
static queryParam(name) { static queryParam(name) {
return Runtime._queryParamsObject[name] || null; return Runtime._queryParamsObject.get(name);
} }
/** /**
...@@ -564,12 +564,8 @@ var Runtime = class { // eslint-disable-line ...@@ -564,12 +564,8 @@ var Runtime = class { // eslint-disable-line
} }
}; };
/** /** @type {!URLSearchParams} */
* @type {!Object.<string, string>} Runtime._queryParamsObject = new URLSearchParams(Runtime.queryParamsString());
*/
Runtime._queryParamsObject = {
__proto__: null
};
Runtime._instanceSymbol = Symbol('instance'); Runtime._instanceSymbol = Symbol('instance');
...@@ -1069,20 +1065,6 @@ Runtime.Experiment = class { ...@@ -1069,20 +1065,6 @@ Runtime.Experiment = class {
} }
}; };
{
(function parseQueryParameters() {
const queryParams = Runtime.queryParamsString();
if (!queryParams)
return;
const params = queryParams.substring(1).split('&');
for (let i = 0; i < params.length; ++i) {
const pair = params[i].split('=');
const name = pair.shift();
Runtime._queryParamsObject[name] = pair.join('=');
}
})();
}
// This must be constructed after the query parameters have been parsed. // This must be constructed after the query parameters have been parsed.
Runtime.experiments = new Runtime.ExperimentsSupport(); Runtime.experiments = new Runtime.ExperimentsSupport();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment