WP_HTML_Processor::step_after_after_frameset(): bool

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only by core. It is listed here for completeness.

Parses next element in the ‘after after frameset’ insertion mode.

Description

This internal function performs the ‘after after frameset’ insertion mode logic for the generalized WP_HTML_Processor::step() function.

See also

Return

bool Whether an element was found.

Source

private function step_after_after_frameset(): bool {
	$tag_name   = $this->get_token_name();
	$token_type = $this->get_token_type();
	$op_sigil   = '#tag' === $token_type ? ( $this->is_tag_closer() ? '-' : '+' ) : '';
	$op         = "{$op_sigil}{$tag_name}";

	switch ( $op ) {
		/*
		 * > A comment token
		 */
		case '#comment':
		case '#funky-comment':
		case '#presumptuous-tag':
			$this->bail( 'Content outside of HTML is unsupported.' );
			break;

		/*
		 * > A DOCTYPE token
		 * > A start tag whose tag name is "html"
		 *
		 * > Process the token using the rules for the "in body" insertion mode.
		 */
		case 'html':
		case '+HTML':
			return $this->step_in_body();

		/*
		 * > A character token that is one of U+0009 CHARACTER TABULATION, U+000A LINE FEED (LF),
		 * >   U+000C FORM FEED (FF), U+000D CARRIAGE RETURN (CR), or U+0020 SPACE
		 * >
		 * > Process the token using the rules for the "in body" insertion mode.
		 *
		 * This algorithm effectively strips non-whitespace characters from text and inserts
		 * them under HTML. This is not supported at this time.
		 */
		case '#text':
			if ( parent::TEXT_IS_WHITESPACE === $this->text_node_classification ) {
				return $this->step_in_body();
			}
			$this->bail( 'Non-whitespace characters cannot be handled in after after frameset.' );
			break;

		/*
		 * > A start tag whose tag name is "noframes"
		 */
		case '+NOFRAMES':
			return $this->step_in_head();
	}

	// Parse error: ignore the token.
	return $this->step();
}

Changelog

VersionDescription
6.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.