Send cache purges for action=raw after editing user css/js
These types of requests can be cached for a short time (~5 min) in Squid/Varnish. Change importScript to be consistent with importStylesheet in the query parameter order (title, action, ctype). We only send purges for the exact urls as used by importScript and importStylesheet. Note: ResourceLoader things have their cache handled separately and aren't affected by this change. Users like instant updating of scripts after having changed them. Bug: 56874 Change-Id: Idaa8552cf371dbafeb8b730f35b3b5c4fc339fb0
This commit is contained in:
parent
3ebfa0acfc
commit
6e2be46e82
3 changed files with 14 additions and 3 deletions
|
|
@ -3538,6 +3538,13 @@ class Title {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If we are looking at a css/js user subpage, purge the action=raw.
|
||||||
|
if ( $this->isJsSubpage() ) {
|
||||||
|
$urls[] = $this->getInternalUrl( 'action=raw&ctype=text/javascript' );
|
||||||
|
} elseif ( $this->isCssSubpage() ) {
|
||||||
|
$urls[] = $this->getInternalUrl( 'action=raw&ctype=text/css' );
|
||||||
|
}
|
||||||
|
|
||||||
wfRunHooks( 'TitleSquidURLs', array( $this, &$urls ) );
|
wfRunHooks( 'TitleSquidURLs', array( $this, &$urls ) );
|
||||||
return $urls;
|
return $urls;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,8 @@ class RawAction extends FormlessAction {
|
||||||
|
|
||||||
$contentType = $this->getContentType();
|
$contentType = $this->getContentType();
|
||||||
|
|
||||||
# Force caching for CSS and JS raw content, default: 5 minutes
|
# Force caching for CSS and JS raw content, default: 5 minutes.
|
||||||
|
# Note: If using a canonical url for userpage css/js, we send an HTCP purge.
|
||||||
if ( $smaxage === null ) {
|
if ( $smaxage === null ) {
|
||||||
if ( $contentType == 'text/css' || $contentType == 'text/javascript' ) {
|
if ( $contentType == 'text/css' || $contentType == 'text/javascript' ) {
|
||||||
$smaxage = intval( $wgForcedRawSMaxage );
|
$smaxage = intval( $wgForcedRawSMaxage );
|
||||||
|
|
|
||||||
|
|
@ -227,7 +227,10 @@ win.importScriptURI = function ( url ) {
|
||||||
};
|
};
|
||||||
|
|
||||||
win.importStylesheet = function ( page ) {
|
win.importStylesheet = function ( page ) {
|
||||||
return win.importStylesheetURI( mw.config.get( 'wgScript' ) + '?action=raw&ctype=text/css&title=' + mw.util.wikiUrlencode( page ) );
|
var uri = mw.config.get( 'wgScript' ) + '?title=' +
|
||||||
|
mw.util.wikiUrlencode( page ) +
|
||||||
|
'&action=raw&ctype=text/css';
|
||||||
|
return win.importStylesheetURI( uri );
|
||||||
};
|
};
|
||||||
|
|
||||||
win.importStylesheetURI = function( url, media ) {
|
win.importStylesheetURI = function( url, media ) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue