Page Speed Optimization Libraries
1.13.35.1
|
#include "js_defer_disabled_filter.h"
Public Member Functions | |
JsDeferDisabledFilter (RewriteDriver *driver) | |
virtual void | DetermineEnabled (GoogleString *disabled_reason) |
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::CommonFilter | |
CommonFilter (RewriteDriver *driver) | |
const GoogleUrl & | base_url () const |
Getters. More... | |
const GoogleUrl & | decoded_base_url () const |
RewriteDriver * | driver () const |
HtmlElement * | noscript_element () const |
void | InsertNodeAtBodyEnd (HtmlNode *data) |
virtual void | StartDocument () |
Note: Don't overload these methods, overload the implementers instead! | |
virtual void | StartElement (HtmlElement *element) |
virtual void | EndElement (HtmlElement *element) |
virtual void | Characters (HtmlCharactersNode *characters) |
ResourcePtr | CreateInputResource (StringPiece input_url, RewriteDriver::InputRole role, bool *is_authorized) |
ResourcePtr | CreateInputResourceOrInsertDebugComment (StringPiece input_url, RewriteDriver::InputRole role, HtmlElement *element) |
void | ResolveUrl (StringPiece input_url, GoogleUrl *out_url) |
bool | IsRelativeUrlLoadPermittedByCsp (StringPiece url, CspDirective role) |
bool | BaseUrlIsValid () const |
bool | DebugMode () const |
bool | CanAddPagespeedOnloadToImage (const HtmlElement &) |
virtual void | LogFilterModifiedContent () |
virtual RewriteDriver::InlineAuthorizationPolicy | AllowUnauthorizedDomain () const |
virtual bool | IntendedForInlining () const |
void | AddJsToElement (StringPiece js, HtmlElement *script) |
Public Member Functions inherited from net_instaweb::EmptyHtmlFilter | |
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 | 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) |
Static Public Member Functions | |
static void | InitStats (Statistics *statistics) |
static void | Terminate () |
static bool | ShouldApply (RewriteDriver *driver) |
Static Public Member Functions inherited from net_instaweb::CommonFilter | |
static bool | ExtractMetaTagDetails (const HtmlElement &element, const ResponseHeaders *headers, GoogleString *content, GoogleString *mime_type, GoogleString *charset) |
Additional Inherited Members | |
Public Types inherited from net_instaweb::HtmlFilter | |
enum | ScriptUsage { kWillInjectScripts, kMayInjectScripts, kNeverInjectsScripts } |
Describes a filter's relationship with scripts. More... | |
Static Public Attributes inherited from net_instaweb::CommonFilter | |
static const char | kCreateResourceFailedDebugMsg [] |
Debug message to be inserted when resource creation fails. | |
Protected Member Functions inherited from net_instaweb::CommonFilter | |
ServerContext * | server_context () const |
const RewriteOptions * | rewrite_options () |
virtual const char * | LoggingId () |
Implements deferring of javascripts into post onload. JsDisableFilter moves scripts inside a noscript tag. This filter adds a javascript that goes through every noscript tag to defer them to be executed at onload of window.
|
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 |
Note: there is also kRequiresScriptExecutionFilterSet in rewrite_options.cc, which identifies filters that will leave broken pages if javascript is disabled, and hence require noscript handing. The set of filters that CanInjectScripts is larger, as it includes filters that might inject beacons or other optional functionality that is not page-critical.
Implements net_instaweb::HtmlFilter.
|
static |
JsDeferDisableFilter will be no op for the request if ShouldApply returns false.