Page Speed Optimization Libraries  1.13.35.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
source_map.h
Go to the documentation of this file.
1 // Copyright 2013 Google Inc. All Rights Reserved.
21 
22 #ifndef PAGESPEED_KERNEL_UTIL_SOURCE_MAP_H_
23 #define PAGESPEED_KERNEL_UTIL_SOURCE_MAP_H_
24 
25 #include <vector>
26 
30 
31 namespace net_instaweb {
32 
33 namespace source_map {
34 
37 struct Mapping {
38  int gen_line;
39  int gen_col;
40 
41  int src_file;
42  int src_line;
43  int src_col;
44 
45  Mapping() : gen_line(0), gen_col(0), src_file(0), src_line(0), src_col(0) {}
46  Mapping(int gen_line_arg, int gen_col_arg,
47  int src_file_arg, int src_line_arg, int src_col_arg)
48  : gen_line(gen_line_arg),
49  gen_col(gen_col_arg),
50  src_file(src_file_arg),
51  src_line(src_line_arg),
52  src_col(src_col_arg) {
53  }
54 };
55 
56 typedef std::vector<Mapping> MappingVector;
57 
61 bool Encode(StringPiece generated_url,
62  StringPiece source_url,
64  const MappingVector& mappings,
65  GoogleString* encoded_source_map);
66 
70 
73 
75 char EncodeBase64(int val);
79 GoogleString EncodeVlq(int32 val);
81 bool EncodeMappings(const MappingVector& mappings,
82  GoogleString* result);
84 GoogleString PercentEncode(StringPiece url);
85 
86 }
87 
88 }
89 
90 #endif
Definition: source_map.h:37
std::string GoogleString
PAGESPEED_KERNEL_BASE_STRING_H_.
Definition: string.h:24