browser: simplify getParameterByName

Use built-in URLSearchParams object

Change-Id: I99effedabf39902ccabfa34285d62fc5df2d2e01
Signed-off-by: Henry Castro <hcastro@collabora.com>
pull/8061/head
Henry Castro 2023-08-21 14:59:47 -04:00 committed by Caolán McNamara
parent 91a5831636
commit a722687c11
4 changed files with 23 additions and 29 deletions

View File

@ -399,16 +399,16 @@ m4_syscmd([cat ]GLOBAL_JS)m4_dnl
// Related to issue #5841: the iOS app sets the base text direction via the
// "dir" parameter
m4_ifelse(IOSAPP,[true],
[document.dir = window.getParameterByName('dir');])
[document.dir = window.coolParams.get('dir');])
m4_ifelse(IOSAPP,[true],
[window.userInterfaceMode = window.getParameterByName('userinterfacemode');])
[window.userInterfaceMode = window.coolParams.get('userinterfacemode');])
m4_ifelse(ANDROIDAPP,[true],
[window.userInterfaceMode = window.getParameterByName('userinterfacemode');])
[window.userInterfaceMode = window.coolParams.get('userinterfacemode');])
m4_ifelse(ANDROIDAPP,[true],
[var darkTheme = window.getParameterByName('darkTheme');
[var darkTheme = window.coolParams.get('darkTheme');
if (darkTheme) {window.uiDefaults = {'darkTheme': true};}])
m4_ifelse(EMSCRIPTENAPP,[true],

View File

@ -72,20 +72,14 @@ window.app = {
global.setLogging(global.coolLogging == 'true');
global.getParameterByName = function (name) {
name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
var results = regex.exec(location.search);
return results === null ? '' : results[1].replace(/\+/g, ' ');
};
global.coolParams = new URLSearchParams(global.location.search);
var ua = navigator.userAgent.toLowerCase(),
uv = navigator.vendor.toLowerCase(),
doc = document.documentElement,
ie = 'ActiveXObject' in window,
cypressTest = ua.indexOf('cypress') !== -1,
cypressTest = ua.indexOf('cypress') !== -1,
webkit = ua.indexOf('webkit') !== -1,
phantomjs = ua.indexOf('phantom') !== -1,
android23 = ua.search('android [23]') !== -1,
@ -130,10 +124,10 @@ window.app = {
global.L.Params = {
/// Shows close button if non-zero value provided
closeButtonEnabled: global.getParameterByName('closebutton'),
closeButtonEnabled: global.coolParams.get('closebutton'),
/// Shows revision history file menu option
revHistoryEnabled: global.getParameterByName('revisionhistory'),
revHistoryEnabled: global.coolParams.get('revisionhistory'),
};
global.L.Browser = {
@ -975,8 +969,8 @@ window.app = {
}
var docParams, wopiParams;
var filePath = global.getParameterByName('file_path');
global.wopiSrc = global.getParameterByName('WOPISrc');
var filePath = global.coolParams.get('file_path');
global.wopiSrc = global.coolParams.get('WOPISrc');
if (global.wopiSrc != '') {
global.docURL = decodeURIComponent(global.wopiSrc);
if (global.accessToken !== '') {
@ -1083,7 +1077,7 @@ window.app = {
}
}
var lang = encodeURIComponent(global.getParameterByName('lang'));
var lang = encodeURIComponent(global.coolParams.get('lang'));
if (lang)
window.langParam = lang;
else
@ -1099,7 +1093,7 @@ window.app = {
global.socket.onopen = function () {
if (global.socket.readyState === 1) {
var ProtocolVersionNumber = '0.1';
var timestamp = encodeURIComponent(global.getParameterByName('timestamp'));
var timestamp = encodeURIComponent(global.coolParams.get('timestamp'));
var msg = 'load url=' + encodeURIComponent(global.docURL);
var now0 = Date.now();

View File

@ -9,10 +9,10 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/* global _ getParameterByName */
/* global _ */
var errorMessages = {};
var lang = getParameterByName('lang');
var lang = window.coolParams.get('lang');
if (lang) {
String.locale = lang;
} else {

View File

@ -8,14 +8,14 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
/* global errorMessages getParameterByName accessToken accessTokenTTL accessHeader createOnlineModule */
/* global errorMessages accessToken accessTokenTTL accessHeader createOnlineModule */
/* global app $ L host idleTimeoutSecs outOfFocusTimeoutSecs _ */
/*eslint indent: [error, "tab", { "outerIIFEBody": 0 }]*/
(function (global) {
var wopiParams = {};
var wopiSrc = getParameterByName('WOPISrc');
var wopiSrc = global.coolParams.get('WOPISrc');
if (wopiSrc !== '' && accessToken !== '') {
wopiParams = { 'access_token': accessToken, 'access_token_ttl': accessTokenTTL };
@ -28,16 +28,16 @@ if (window.ThisIsTheEmscriptenApp)
// Temporary hack
var filePath = 'file:///sample.docx';
else
var filePath = getParameterByName('file_path');
var filePath = global.coolParams.get('file_path');
app.file.permission = getParameterByName('permission') || 'edit';
app.file.permission = global.coolParams.get('permission') || 'edit';
var timestamp = getParameterByName('timestamp');
var target = getParameterByName('target') || '';
var timestamp = global.coolParams.get('timestamp');
var target = global.coolParams.get('target') || '';
// Should the document go inactive or not
var alwaysActive = getParameterByName('alwaysactive');
var alwaysActive = global.coolParams.get('alwaysactive');
// Cool Debug mode
var debugMode = getParameterByName('debug');
var debugMode = global.coolParams.get('debug');
var docURL, docParams;
var isWopi = false;
@ -50,7 +50,7 @@ if (wopiSrc != '') {
docParams = {};
}
var notWopiButIframe = getParameterByName('NotWOPIButIframe') != '';
var notWopiButIframe = global.coolParams.get('NotWOPIButIframe') != '';
var map = L.map('map', {
server: host,
doc: docURL,