19 #ifndef NET_INSTAWEB_REWRITER_PUBLIC_ASSOCIATION_TRANSFORMER_H_
20 #define NET_INSTAWEB_REWRITER_PUBLIC_ASSOCIATION_TRANSFORMER_H_
27 #include "pagespeed/kernel/base/basictypes.h"
28 #include "pagespeed/kernel/base/gtest_prod.h"
29 #include "pagespeed/kernel/base/string.h"
30 #include "pagespeed/kernel/base/string_util.h"
32 namespace net_instaweb {
56 MessageHandler* handler)
57 : base_url_(base_url), options_(options),
58 backup_transformer_(backup_transformer), handler_(handler) {}
64 StringStringMap*
map() {
return &map_; }
70 virtual TransformStatus
Transform(GoogleString* str);
77 const GoogleUrl* base_url_;
84 MessageHandler* handler_;
86 FRIEND_TEST(AssociationTransformerTest, TransformsCorrectly);
100 StringStringMap* map,
const StringPiece& key)
102 key.CopyToString(&key_);
106 virtual HtmlElement*
element()
const {
return NULL; }
112 if (!resource()->is_authorized_domain()) {
115 if (!disable_rendering()) {
116 (*map_)[key_] = resource()->url();
122 if (!resource()->is_authorized_domain()) {
125 url.CopyToString(&((*map_)[key_]));
136 StringStringMap* map_;
AssociationSlot(ResourcePtr resource, StringStringMap *map, const StringPiece &key)
Note: map must outlive AssociationSlot.
Definition: association_transformer.h:99
virtual void Render()
Definition: association_transformer.h:110
Definition: resource_slot.h:52
Definition: association_transformer.h:96
virtual bool DirectSetUrl(const StringPiece &url)
Definition: association_transformer.h:120
virtual GoogleString LocationString()
Definition: association_transformer.h:129
virtual HtmlElement * element() const
Return HTML element associated with slot, or NULL if none (CSS, IPRO)
Definition: association_transformer.h:106
Definition: rewrite_options.h:83