| %{ |
| // rewrite_filter_names.cc is automatically generated from |
| // rewrite_filter_names.gperf. |
| // Author: jmarantz@google.com |
| |
| #include "base/basictypes.h" |
| #include "net/instaweb/rewriter/public/rewrite_options.h" |
| #include "pagespeed/kernel/base/string_util.h" |
| |
| namespace net_instaweb { |
| %} |
| %compare-strncmp |
| %define class-name FilterMapper |
| %define lookup-function-name Lookup |
| %define word-array-name kHtmlNameTable |
| %global-table |
| %ignore-case |
| %includes |
| %language=C++ |
| %readonly-tables |
| %struct-type |
| |
| struct FilterMap { |
| const char* name; |
| net_instaweb::RewriteOptions::Filter filter; |
| }; |
| %% |
| # IMPORTANT: Do not add any internal filters (that would blow up if triggered |
| # from e.g. query params!) here. |
| "add_base_tag", RewriteOptions::kAddBaseTag |
| "add_head", RewriteOptions::kAddHead |
| "add_ids", RewriteOptions::kAddIds |
| "add_instrumentation", RewriteOptions::kAddInstrumentation |
| "cache_partial_html", RewriteOptions::kCachePartialHtml |
| "canonicalize_javascript_libraries", RewriteOptions::kCanonicalizeJavascriptLibraries |
| "collapse_whitespace", RewriteOptions::kCollapseWhitespace |
| "combine_css", RewriteOptions::kCombineCss |
| "combine_javascript", RewriteOptions::kCombineJavascript |
| "combine_heads", RewriteOptions::kCombineHeads |
| "compute_statistics", RewriteOptions::kComputeStatistics |
| "compute_critical_css", RewriteOptions::kComputeCriticalCss |
| "convert_gif_to_png", RewriteOptions::kConvertGifToPng |
| "convert_jpeg_to_progressive", RewriteOptions::kConvertJpegToProgressive |
| "convert_jpeg_to_webp", RewriteOptions::kConvertJpegToWebp |
| "convert_meta_tags", RewriteOptions::kConvertMetaTags |
| "convert_png_to_jpeg", RewriteOptions::kConvertPngToJpeg |
| "convert_to_webp_animated", RewriteOptions::kConvertToWebpAnimated |
| "convert_to_webp_lossless", RewriteOptions::kConvertToWebpLossless |
| "debug", RewriteOptions::kDebug |
| "decode_rewritten_urls", RewriteOptions::kDecodeRewrittenUrls |
| "dedup_inlined_images", RewriteOptions::kDedupInlinedImages |
| "defer_iframe", RewriteOptions::kDeferIframe |
| "defer_javascript", RewriteOptions::kDeferJavascript |
| "deterministic_js", RewriteOptions::kDeterministicJs |
| "disable_javascript", RewriteOptions::kDisableJavascript |
| "div_structure", RewriteOptions::kDivStructure |
| "elide_attributes", RewriteOptions::kElideAttributes |
| "experiment_collect_mob_image_info", RewriteOptions::kExperimentCollectMobImageInfo |
| "experiment_spdy", RewriteOptions::kExperimentSpdy |
| "explicit_close_tags", RewriteOptions::kExplicitCloseTags |
| "extend_cache_css", RewriteOptions::kExtendCacheCss |
| "extend_cache_images", RewriteOptions::kExtendCacheImages |
| "extend_cache_pdfs", RewriteOptions::kExtendCachePdfs |
| "extend_cache_scripts", RewriteOptions::kExtendCacheScripts |
| "fallback_rewrite_css_urls", RewriteOptions::kFallbackRewriteCssUrls |
| "fix_reflows", RewriteOptions::kFixReflows |
| "flatten_css_imports", RewriteOptions::kFlattenCssImports |
| "flush_subresources", RewriteOptions::kFlushSubresources |
| "in_place_optimize_for_browser", RewriteOptions::kInPlaceOptimizeForBrowser |
| "include_js_source_maps", RewriteOptions::kIncludeJsSourceMaps |
| "inline_css", RewriteOptions::kInlineCss |
| "inline_google_font_css", RewriteOptions::kInlineGoogleFontCss |
| "inline_images", RewriteOptions::kInlineImages |
| "inline_import_to_link", RewriteOptions::kInlineImportToLink |
| "inline_javascript", RewriteOptions::kInlineJavascript |
| "inline_preview_images", RewriteOptions::kDelayImages |
| "insert_dns_prefetch", RewriteOptions::kInsertDnsPrefetch |
| "insert_ga", RewriteOptions::kInsertGA |
| "insert_img_dimensions", RewriteOptions::kInsertImageDimensions |
| "insert_image_dimensions", RewriteOptions::kInsertImageDimensions |
| "jpeg_subsampling", RewriteOptions::kJpegSubsampling |
| "lazyload_images", RewriteOptions::kLazyloadImages |
| "local_storage_cache", RewriteOptions::kLocalStorageCache |
| "left_trim_urls", RewriteOptions::kLeftTrimUrls |
| "make_google_analytics_async", RewriteOptions::kMakeGoogleAnalyticsAsync |
| "make_show_ads_async", RewriteOptions::kMakeShowAdsAsync |
| "mobilize", RewriteOptions::kMobilize |
| "mobilize_precompute", RewriteOptions::kMobilizePrecompute |
| "move_css_above_scripts", RewriteOptions::kMoveCssAboveScripts |
| "move_css_to_head", RewriteOptions::kMoveCssToHead |
| "outline_css", RewriteOptions::kOutlineCss |
| "outline_javascript", RewriteOptions::kOutlineJavascript |
| "pedantic", RewriteOptions::kPedantic |
| "prioritize_critical_css", RewriteOptions::kPrioritizeCriticalCss |
| "recompress_jpeg", RewriteOptions::kRecompressJpeg |
| "recompress_png", RewriteOptions::kRecompressPng |
| "recompress_webp", RewriteOptions::kRecompressWebp |
| "remove_comments", RewriteOptions::kRemoveComments |
| "remove_quotes", RewriteOptions::kRemoveQuotes |
| "resize_images", RewriteOptions::kResizeImages |
| "resize_mobile_images", RewriteOptions::kResizeMobileImages |
| "resize_rendered_image_dimensions", RewriteOptions::kResizeToRenderedImageDimensions |
| "responsive_images", RewriteOptions::kResponsiveImages |
| "responsive_images_zoom", RewriteOptions::kResponsiveImagesZoom |
| "rewrite_css", RewriteOptions::kRewriteCss |
| "rewrite_domains", RewriteOptions::kRewriteDomains |
| "rewrite_javascript_external", RewriteOptions::kRewriteJavascriptExternal |
| "rewrite_javascript_inline", RewriteOptions::kRewriteJavascriptInline |
| "rewrite_style_attributes", RewriteOptions::kRewriteStyleAttributes |
| "rewrite_style_attributes_with_url", RewriteOptions::kRewriteStyleAttributesWithUrl |
| "split_html", RewriteOptions::kSplitHtml |
| "split_html_helper", RewriteOptions::kSplitHtmlHelper |
| "sprite_images", RewriteOptions::kSpriteImages |
| "strip_image_color_profile", RewriteOptions::kStripImageColorProfile |
| "strip_image_meta_data", RewriteOptions::kStripImageMetaData |
| "strip_scripts", RewriteOptions::kStripScripts |
| "trim_urls", RewriteOptions::kLeftTrimUrls |
| %% |
| |
| RewriteOptions::Filter RewriteOptions::LookupFilter( |
| const StringPiece& filter_name) { |
| const FilterMap* entry = FilterMapper::Lookup( |
| filter_name.data(), filter_name.size()); |
| if (entry != NULL) { |
| return entry->filter; |
| } |
| return RewriteOptions::kEndOfFilters; |
| } |
| |
| } // namespace net_instaweb |