The simplified continuation includes a continuation parameter to
indicate when the prop/list/meta modules are complete, so it can skip
executing them.
But if someone submitted a malformed value for 'continue', it might
decide that the generator was complete but still try to uselessly
execute the prop modules.
Bug: 72764
Change-Id: I6af24e5d4f30e64782fb7dd1c2211ebdd4ec2317
/**
* Override this method to request extra fields from the pageSet
* using $pageSet->requestField('fieldName')
+ *
+ * Note this only makes sense for 'prop' modules, as 'list' and 'meta'
+ * modules should not be using the pageset.
+ *
* @param ApiPageSet $pageSet
*/
public function requestExtraData( $pageSet ) {
$continue = explode( '||', $continue );
$this->dieContinueUsageIf( count( $continue ) !== 2 );
$this->generatorDone = ( $continue[0] === '-' );
+ $skip = explode( '|', $continue[1] );
if ( !$this->generatorDone ) {
$this->generatorParams = explode( '|', $continue[0] );
+ } else {
+ // When the generator is complete, don't run any modules that
+ // depend on it.
+ $skip += $this->continueGeneratedModules;
}
- $skip = explode( '|', $continue[1] );
}
$this->continueAllModules = array();