Page Speed Optimization Libraries
1.13.35.1
|
#include "support_noscript_filter.h"
Public Member Functions | |
SupportNoscriptFilter (RewriteDriver *rewrite_driver) | |
virtual void | DetermineEnabled (GoogleString *disabled_reason) |
virtual void | StartElement (HtmlElement *element) |
virtual const char * | Name () const |
The name of this filter – used for logging and debugging. | |
ScriptUsage | GetScriptUsage () const override |
Public Member Functions inherited from net_instaweb::EmptyHtmlFilter | |
virtual void | StartDocument () |
virtual void | EndDocument () |
virtual void | EndElement (HtmlElement *element) |
virtual void | Cdata (HtmlCdataNode *cdata) |
Called for CDATA blocks (e.g. <![CDATA[foobar]]>) | |
virtual void | Comment (HtmlCommentNode *comment) |
Called for HTML comments that aren't IE directives (e.g. ). | |
virtual void | IEDirective (HtmlIEDirectiveNode *directive) |
virtual void | Characters (HtmlCharactersNode *characters) |
Called for raw characters between tags. | |
virtual void | Directive (HtmlDirectiveNode *directive) |
Called for HTML directives (e.g. <!doctype foobar>). | |
virtual void | Flush () |
virtual bool | CanModifyUrls () |
ScriptUsage | GetScriptUsage () const override |
Public Member Functions inherited from net_instaweb::HtmlFilter | |
virtual void | RenderDone () |
bool | is_enabled () const |
void | set_is_enabled (bool is_enabled) |
Additional Inherited Members | |
Public Types inherited from net_instaweb::HtmlFilter | |
enum | ScriptUsage { kWillInjectScripts, kMayInjectScripts, kNeverInjectsScripts } |
Describes a filter's relationship with scripts. More... | |
Inserts a noscript tag as the first element of body. This noscript redirects to "ModPagespeed=off" to prevent breakage when pages rewritten by filters that depend on script execution (such as lazyload_images) are rendered on browsers with script execution disabled.
|
virtual |
Invoked by rewrite driver where all filters should determine whether they are enabled for this request. The re-writer my optionally set disabled_reason to explain why it disabled itself, which will appear in the debug output.
Reimplemented from net_instaweb::EmptyHtmlFilter.
|
inlineoverridevirtual |
Make sure this filter gets turned off when a document is declared as AMP.
This is a little confusing; SupportNoscript does not itself inject scripts, but it injects http-equiv tags which prevent AMP-HTML from being validated. This filter is a special snowflake that is never enabled by users, but is implied by the initial enabling of other filters that do inject scripts.
Because this filter only changes HTML on behalf of filters that are themselves kWillInjectScripts, [falsely] declaring that this script as kWillInjectScripts has no particular downside.
Implements net_instaweb::HtmlFilter.
|
virtual |
When an HTML element is encountered during parsing, each filter's StartElement method is called. The HtmlElement lives for the entire duration of the document.
Reimplemented from net_instaweb::EmptyHtmlFilter.