1
0
mirror of https://github.com/gorhill/uBlock.git synced 2024-10-04 08:37:11 +02:00

Add domain vararg to trusted-set-cookie

Related issue:
https://github.com/uBlockOrigin/uBlock-issues/issues/2893
This commit is contained in:
Raymond Hill 2023-10-22 18:19:18 -04:00
parent 1e745c2f4d
commit 82c59b4b6e
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2

View File

@ -738,10 +738,11 @@ function objectPruneFn(
/******************************************************************************/ /******************************************************************************/
builtinScriptlets.push({ builtinScriptlets.push({
name: 'set-cookie-helper.fn', name: 'set-cookie.fn',
fn: setCookieHelper, fn: setCookieFn,
}); });
function setCookieHelper( function setCookieFn(
trusted = false,
name = '', name = '',
value = '', value = '',
expires = '', expires = '',
@ -772,7 +773,18 @@ function setCookieHelper(
if ( path === '/' ) { if ( path === '/' ) {
cookieParts.push('; path=/'); cookieParts.push('; path=/');
} }
if ( trusted ) {
if ( options.domain ) {
cookieParts.push(`; domain=${options.domain}`);
}
cookieParts.push('; Secure');
}
try {
document.cookie = cookieParts.join(''); document.cookie = cookieParts.join('');
} catch(_) {
}
if ( options.reload && getCookieValue(name) === value ) { if ( options.reload && getCookieValue(name) === value ) {
window.location.reload(); window.location.reload();
@ -3336,7 +3348,7 @@ builtinScriptlets.push({
world: 'ISOLATED', world: 'ISOLATED',
dependencies: [ dependencies: [
'safe-self.fn', 'safe-self.fn',
'set-cookie-helper.fn', 'set-cookie.fn',
], ],
}); });
function setCookie( function setCookie(
@ -3362,7 +3374,8 @@ function setCookie(
} }
value = encodeURIComponent(value); value = encodeURIComponent(value);
setCookieHelper( setCookieFn(
false,
name, name,
value, value,
'', '',
@ -3721,7 +3734,7 @@ builtinScriptlets.push({
world: 'ISOLATED', world: 'ISOLATED',
dependencies: [ dependencies: [
'safe-self.fn', 'safe-self.fn',
'set-cookie-helper.fn', 'set-cookie.fn',
], ],
}); });
function trustedSetCookie( function trustedSetCookie(
@ -3753,7 +3766,8 @@ function trustedSetCookie(
expires = time.toUTCString(); expires = time.toUTCString();
} }
setCookieHelper( setCookieFn(
true,
name, name,
value, value,
expires, expires,