autoprefixer-rails 1.1.20140226 → 1.1.20140302
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/ChangeLog.md +6 -0
 - data/lib/autoprefixer-rails/processor.rb +4 -3
 - data/lib/autoprefixer-rails/version.rb +1 -1
 - data/spec/autoprefixer_spec.rb +10 -1
 - data/vendor/autoprefixer.js +213 -80
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: ab86a9111b4e97aeeace72c81248d347d10d8fc4
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: c08519e59f7593286bdc0f4811063dee71e4f60e
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: b3222ffac62ab22af9a5635d0cb7ddfabd579cdd0a482dc52dfd2f169ccebb4724d25f10964bbc934e43e98c03cb2dc7e331bacfd5a279fa14627c4adac67f30
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f607cc1ea86a720e6dac1f034fab13d618a4ab9dd7e5ee889400ad87b8fb05f3762d03e2b004431cb4ca08c8015c89e35413863b9382f2b54e2056fe8bdc7dee
         
     | 
    
        data/ChangeLog.md
    CHANGED
    
    | 
         @@ -17,6 +17,12 @@ 
     | 
|
| 
       17 
17 
     | 
    
         
             
            * Chrome 33 is moved to released versions.
         
     | 
| 
       18 
18 
     | 
    
         
             
            * Add Chrome 36 data.
         
     | 
| 
       19 
19 
     | 
    
         | 
| 
      
 20 
     | 
    
         
            +
            ### 20140302:
         
     | 
| 
      
 21 
     | 
    
         
            +
            * Add `text-decoration-*` properties support.
         
     | 
| 
      
 22 
     | 
    
         
            +
            * Update browsers usage statistics.
         
     | 
| 
      
 23 
     | 
    
         
            +
            * Fix `cascade` options without `browsers` option (by Dominik Porada).
         
     | 
| 
      
 24 
     | 
    
         
            +
            * Use new PostCSS version.
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
       20 
26 
     | 
    
         
             
            ## 1.0 “Plus ultra”
         
     | 
| 
       21 
27 
     | 
    
         
             
            * Source map support.
         
     | 
| 
       22 
28 
     | 
    
         
             
            * Save origin indents and code formatting.
         
     | 
| 
         @@ -16,7 +16,7 @@ module AutoprefixerRails 
     | 
|
| 
       16 
16 
     | 
    
         
             
                # * `from` with input CSS file name. Will be used in error messages.
         
     | 
| 
       17 
17 
     | 
    
         
             
                # * `to` with output CSS file name.
         
     | 
| 
       18 
18 
     | 
    
         
             
                # * `map` with true to generate new source map or with previous map.
         
     | 
| 
       19 
     | 
    
         
            -
                def process(css, opts = { 
     | 
| 
      
 19 
     | 
    
         
            +
                def process(css, opts = {})
         
     | 
| 
       20 
20 
     | 
    
         
             
                  result = processor.call('process', css, opts)
         
     | 
| 
       21 
21 
     | 
    
         
             
                  Result.new(result['css'], result['map'])
         
     | 
| 
       22 
22 
     | 
    
         
             
                end
         
     | 
| 
         @@ -51,11 +51,12 @@ module AutoprefixerRails 
     | 
|
| 
       51 
51 
     | 
    
         | 
| 
       52 
52 
     | 
    
         
             
                # Return JS code to create Autoprefixer instance
         
     | 
| 
       53 
53 
     | 
    
         
             
                def create_instance
         
     | 
| 
      
 54 
     | 
    
         
            +
                  options = @options.map { |k, v| "#{k}: #{v.inspect}"}.join(', ')
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
       54 
56 
     | 
    
         
             
                  if @browsers.empty?
         
     | 
| 
       55 
     | 
    
         
            -
                    "var processor = autoprefixer;"
         
     | 
| 
      
 57 
     | 
    
         
            +
                    "var processor = autoprefixer({ #{options} });"
         
     | 
| 
       56 
58 
     | 
    
         
             
                  else
         
     | 
| 
       57 
59 
     | 
    
         
             
                    browsers = @browsers.map(&:to_s).join("', '")
         
     | 
| 
       58 
     | 
    
         
            -
                    options  = @options.map { |k, v| "#{k}: #{v.inspect}"}.join(',')
         
     | 
| 
       59 
60 
     | 
    
         
             
                    "var processor = autoprefixer('#{browsers}', { #{options} });"
         
     | 
| 
       60 
61 
     | 
    
         
             
                  end
         
     | 
| 
       61 
62 
     | 
    
         
             
                end
         
     | 
    
        data/spec/autoprefixer_spec.rb
    CHANGED
    
    | 
         @@ -23,7 +23,16 @@ describe AutoprefixerRails do 
     | 
|
| 
       23 
23 
     | 
    
         
             
                result.map.should be_a(String)
         
     | 
| 
       24 
24 
     | 
    
         
             
              end
         
     | 
| 
       25 
25 
     | 
    
         | 
| 
       26 
     | 
    
         
            -
              it " 
     | 
| 
      
 26 
     | 
    
         
            +
              it "creates visual cascade by default" do
         
     | 
| 
      
 27 
     | 
    
         
            +
                css    = "a {\n  transition: all 1s\n  }"
         
     | 
| 
      
 28 
     | 
    
         
            +
                result = AutoprefixerRails.process(@css)
         
     | 
| 
      
 29 
     | 
    
         
            +
                result.css.should == "a {\n" +
         
     | 
| 
      
 30 
     | 
    
         
            +
                                     "    -webkit-transition: all 1s;\n" +
         
     | 
| 
      
 31 
     | 
    
         
            +
                                     "            transition: all 1s\n" +
         
     | 
| 
      
 32 
     | 
    
         
            +
                                     "}\n"
         
     | 
| 
      
 33 
     | 
    
         
            +
              end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
              it "disables visual cascade on request" do
         
     | 
| 
       27 
36 
     | 
    
         
             
                css    = "a {\n  transition: all 1s\n  }"
         
     | 
| 
       28 
37 
     | 
    
         
             
                result = AutoprefixerRails.process(@css, cascade: false)
         
     | 
| 
       29 
38 
     | 
    
         
             
                result.css.should == "a {\n" +
         
     | 
    
        data/vendor/autoprefixer.js
    CHANGED
    
    | 
         @@ -5,46 +5,46 @@ 
     | 
|
| 
       5 
5 
     | 
    
         
             
                  prefix: "-webkit-",
         
     | 
| 
       6 
6 
     | 
    
         
             
                  minor: true,
         
     | 
| 
       7 
7 
     | 
    
         
             
                  versions: [4.4, 4.3, 4.2, 4.1, 4, 3, 2.3, 2.2, 2.1],
         
     | 
| 
       8 
     | 
    
         
            -
                  popularity: [0. 
     | 
| 
      
 8 
     | 
    
         
            +
                  popularity: [0.116989, 0.818925, 0.818925, 2.30729, 1.0464, 0.00649939, 1.29988, 0.0844921, 0.0259976]
         
     | 
| 
       9 
9 
     | 
    
         
             
                },
         
     | 
| 
       10 
10 
     | 
    
         
             
                bb: {
         
     | 
| 
       11 
11 
     | 
    
         
             
                  prefix: "-webkit-",
         
     | 
| 
       12 
12 
     | 
    
         
             
                  minor: true,
         
     | 
| 
       13 
13 
     | 
    
         
             
                  versions: [10, 7],
         
     | 
| 
       14 
     | 
    
         
            -
                  popularity: [0, 0. 
     | 
| 
      
 14 
     | 
    
         
            +
                  popularity: [0, 0.136974]
         
     | 
| 
       15 
15 
     | 
    
         
             
                },
         
     | 
| 
       16 
16 
     | 
    
         
             
                chrome: {
         
     | 
| 
       17 
17 
     | 
    
         
             
                  prefix: "-webkit-",
         
     | 
| 
       18 
18 
     | 
    
         
             
                  future: [36, 35, 34],
         
     | 
| 
       19 
19 
     | 
    
         
             
                  versions: [33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
         
     | 
| 
       20 
     | 
    
         
            -
                  popularity: [ 
     | 
| 
      
 20 
     | 
    
         
            +
                  popularity: [2.44037, 27.2658, 1.60432, 0.33894, 0.459452, 0.256088, 0.30128, 0.22596, 0.120512, 0.067788, 0.082852, 0.097916, 0.60256, 0.045192, 0.03766, 0.07532, 0.030128, 0.03766, 0.060256, 0.045192, 0.052724, 0.060256, 0.120512, 0.03766, 0.015064, 0.022596, 0.022596, 0.030128, 0.022596, 0.022596]
         
     | 
| 
       21 
21 
     | 
    
         
             
                },
         
     | 
| 
       22 
22 
     | 
    
         
             
                ff: {
         
     | 
| 
       23 
23 
     | 
    
         
             
                  prefix: "-moz-",
         
     | 
| 
       24 
24 
     | 
    
         
             
                  future: [30, 29, 28],
         
     | 
| 
       25 
25 
     | 
    
         
             
                  versions: [27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3.6, 3.5, 3, 2],
         
     | 
| 
       26 
     | 
    
         
            -
                  popularity: [ 
     | 
| 
      
 26 
     | 
    
         
            +
                  popularity: [6.04066, 6.51518, 0.241024, 0.256088, 0.135576, 0.128044, 0.143108, 0.11298, 0.097916, 0.090384, 0.128044, 0.173236, 0.105448, 0.07532, 0.07532, 0.180768, 0.07532, 0.090384, 0.045192, 0.067788, 0.030128, 0.045192, 0.03766, 0.052724, 0.233492, 0.03766, 0.07532, 0.015064]
         
     | 
| 
       27 
27 
     | 
    
         
             
                },
         
     | 
| 
       28 
28 
     | 
    
         
             
                ie: {
         
     | 
| 
       29 
29 
     | 
    
         
             
                  prefix: "-ms-",
         
     | 
| 
       30 
30 
     | 
    
         
             
                  versions: [11, 10, 9, 8, 7, 6, 5.5],
         
     | 
| 
       31 
     | 
    
         
            -
                  popularity: [6. 
     | 
| 
      
 31 
     | 
    
         
            +
                  popularity: [6.68983, 3.50751, 2.98874, 5.19546, 0.185829, 0.240029, 0.009298]
         
     | 
| 
       32 
32 
     | 
    
         
             
                },
         
     | 
| 
       33 
33 
     | 
    
         
             
                ios: {
         
     | 
| 
       34 
34 
     | 
    
         
             
                  prefix: "-webkit-",
         
     | 
| 
       35 
35 
     | 
    
         
             
                  versions: [7, 6.1, 6, 5.1, 5, 4.3, 4.2, 4.1, 4, 3.2],
         
     | 
| 
       36 
     | 
    
         
            -
                  popularity: [4. 
     | 
| 
      
 36 
     | 
    
         
            +
                  popularity: [4.20662, 0.468007, 0.468007, 0.1333275, 0.1333275, 0.0108839, 0.0108839, 0.00544195, 0.00544195, 0]
         
     | 
| 
       37 
37 
     | 
    
         
             
                },
         
     | 
| 
       38 
38 
     | 
    
         
             
                opera: {
         
     | 
| 
       39 
39 
     | 
    
         
             
                  prefix: "-o-",
         
     | 
| 
       40 
40 
     | 
    
         
             
                  future: [21, 20],
         
     | 
| 
       41 
41 
     | 
    
         
             
                  versions: [19, 18, 17, 16, 15, 12.1, 12, 11.6, 11.5, 11.1, 11, 10.6, 10.5, 10.1, 10, 9.6, 9.5],
         
     | 
| 
       42 
     | 
    
         
            -
                  popularity: [0. 
     | 
| 
      
 42 
     | 
    
         
            +
                  popularity: [0.361536, 0.082852, 0.022596, 0.015064, 0.015064, 0.391664, 0.030128, 0.022596, 0.007532, 0.008219, 0.008219, 0.007532, 0.008392, 0.007532, 0.007532, 0.0038115, 0.0038115]
         
     | 
| 
       43 
43 
     | 
    
         
             
                },
         
     | 
| 
       44 
44 
     | 
    
         
             
                safari: {
         
     | 
| 
       45 
45 
     | 
    
         
             
                  prefix: "-webkit-",
         
     | 
| 
       46 
46 
     | 
    
         
             
                  versions: [7, 6.1, 6, 5.1, 5, 4, 3.2, 3.1],
         
     | 
| 
       47 
     | 
    
         
            -
                  popularity: [1. 
     | 
| 
      
 47 
     | 
    
         
            +
                  popularity: [1.26538, 0.760732, 0.497112, 0.881244, 0.256088, 0.090384, 0.008692, 0]
         
     | 
| 
       48 
48 
     | 
    
         
             
                }
         
     | 
| 
       49 
49 
     | 
    
         
             
              };
         
     | 
| 
       50 
50 
     | 
    
         | 
| 
         @@ -317,6 +317,15 @@ 
     | 
|
| 
       317 
317 
     | 
    
         
             
                "tab-size": {
         
     | 
| 
       318 
318 
     | 
    
         
             
                  browsers: ["ff 4", "ff 5", "ff 6", "ff 7", "ff 8", "ff 9", "ff 10", "ff 11", "ff 12", "ff 13", "ff 14", "ff 15", "ff 16", "ff 17", "ff 18", "ff 19", "ff 20", "ff 21", "ff 22", "ff 23", "ff 24", "ff 25", "ff 26", "ff 27", "ff 28", "ff 29", "ff 30", "opera 10.6", "opera 11", "opera 11.1", "opera 11.5", "opera 11.6", "opera 12", "opera 12.1"]
         
     | 
| 
       319 
319 
     | 
    
         
             
                },
         
     | 
| 
      
 320 
     | 
    
         
            +
                "text-decoration-color": {
         
     | 
| 
      
 321 
     | 
    
         
            +
                  browsers: ["ff 6", "ff 7", "ff 8", "ff 9", "ff 10", "ff 11", "ff 12", "ff 13", "ff 14", "ff 15", "ff 16", "ff 17", "ff 18", "ff 19", "ff 20", "ff 21", "ff 22", "ff 23", "ff 24", "ff 25", "ff 26", "ff 27", "ff 28", "ff 29", "ff 30"]
         
     | 
| 
      
 322 
     | 
    
         
            +
                },
         
     | 
| 
      
 323 
     | 
    
         
            +
                "text-decoration-line": {
         
     | 
| 
      
 324 
     | 
    
         
            +
                  browsers: ["ff 6", "ff 7", "ff 8", "ff 9", "ff 10", "ff 11", "ff 12", "ff 13", "ff 14", "ff 15", "ff 16", "ff 17", "ff 18", "ff 19", "ff 20", "ff 21", "ff 22", "ff 23", "ff 24", "ff 25", "ff 26", "ff 27", "ff 28", "ff 29", "ff 30"]
         
     | 
| 
      
 325 
     | 
    
         
            +
                },
         
     | 
| 
      
 326 
     | 
    
         
            +
                "text-decoration-style": {
         
     | 
| 
      
 327 
     | 
    
         
            +
                  browsers: ["chrome 24", "chrome 25", "chrome 26", "chrome 27", "chrome 28", "chrome 29", "chrome 30", "chrome 31", "chrome 32", "chrome 33", "chrome 34", "chrome 35", "chrome 36", "ff 6", "ff 7", "ff 8", "ff 9", "ff 10", "ff 11", "ff 12", "ff 13", "ff 14", "ff 15", "ff 16", "ff 17", "ff 18", "ff 19", "ff 20", "ff 21", "ff 22", "ff 23", "ff 24", "ff 25", "ff 26", "ff 27", "ff 28", "ff 29", "ff 30", "opera 15", "opera 16", "opera 17", "opera 18", "opera 19", "opera 20", "opera 21"]
         
     | 
| 
      
 328 
     | 
    
         
            +
                },
         
     | 
| 
       320 
329 
     | 
    
         
             
                "touch-action": {
         
     | 
| 
       321 
330 
     | 
    
         
             
                  browsers: ["ie 10"]
         
     | 
| 
       322 
331 
     | 
    
         
             
                },
         
     | 
| 
         @@ -354,6 +363,10 @@ 
     | 
|
| 
       354 
363 
     | 
    
         
             
                "user-select": {
         
     | 
| 
       355 
364 
     | 
    
         
             
                  browsers: ["android 2.1", "android 2.2", "android 2.3", "android 3", "android 4", "android 4.1", "android 4.2", "android 4.3", "android 4.4", "bb 7", "bb 10", "chrome 6", "chrome 7", "chrome 8", "chrome 9", "chrome 10", "chrome 11", "chrome 12", "chrome 13", "chrome 14", "chrome 15", "chrome 16", "chrome 17", "chrome 18", "chrome 19", "chrome 20", "chrome 21", "chrome 22", "chrome 23", "chrome 24", "chrome 25", "chrome 26", "chrome 27", "chrome 28", "chrome 29", "chrome 30", "chrome 31", "chrome 32", "chrome 33", "chrome 34", "chrome 35", "chrome 36", "ff 2", "ff 3", "ff 3.5", "ff 3.6", "ff 4", "ff 5", "ff 6", "ff 7", "ff 8", "ff 9", "ff 10", "ff 11", "ff 12", "ff 13", "ff 14", "ff 15", "ff 16", "ff 17", "ff 18", "ff 19", "ff 20", "ff 21", "ff 22", "ff 23", "ff 24", "ff 25", "ff 26", "ff 27", "ff 28", "ff 29", "ff 30", "ie 10", "ie 11", "ios 3.2", "ios 4", "ios 4.1", "ios 4.2", "ios 4.3", "ios 5", "ios 5.1", "ios 6", "ios 6.1", "ios 7", "opera 15", "opera 16", "opera 17", "opera 18", "opera 19", "opera 20", "opera 21", "safari 3.1", "safari 3.2", "safari 4", "safari 5", "safari 5.1", "safari 6", "safari 6.1", "safari 7"]
         
     | 
| 
       356 
365 
     | 
    
         
             
                },
         
     | 
| 
      
 366 
     | 
    
         
            +
                wavy: {
         
     | 
| 
      
 367 
     | 
    
         
            +
                  props: ["text-decoration", "text-decoration-style"],
         
     | 
| 
      
 368 
     | 
    
         
            +
                  browsers: ["ff 6", "ff 7", "ff 8", "ff 9", "ff 10", "ff 11", "ff 12", "ff 13", "ff 14", "ff 15", "ff 16", "ff 17", "ff 18", "ff 19", "ff 20", "ff 21", "ff 22", "ff 23", "ff 24", "ff 25", "ff 26", "ff 27", "ff 28", "ff 29", "ff 30"]
         
     | 
| 
      
 369 
     | 
    
         
            +
                },
         
     | 
| 
       357 
370 
     | 
    
         
             
                "zoom-in": {
         
     | 
| 
       358 
371 
     | 
    
         
             
                  props: ["cursor"],
         
     | 
| 
       359 
372 
     | 
    
         
             
                  browsers: ["chrome 4", "chrome 5", "chrome 6", "chrome 7", "chrome 8", "chrome 9", "chrome 10", "chrome 11", "chrome 12", "chrome 13", "chrome 14", "chrome 15", "chrome 16", "chrome 17", "chrome 18", "chrome 19", "chrome 20", "chrome 21", "chrome 22", "chrome 23", "chrome 24", "chrome 25", "chrome 26", "chrome 27", "chrome 28", "chrome 29", "chrome 30", "chrome 31", "chrome 32", "chrome 33", "chrome 34", "chrome 35", "chrome 36", "ff 2", "ff 3", "ff 3.5", "ff 3.6", "ff 4", "ff 5", "ff 6", "ff 7", "ff 8", "ff 9", "ff 10", "ff 11", "ff 12", "ff 13", "ff 14", "ff 15", "ff 16", "ff 17", "ff 18", "ff 19", "ff 20", "ff 21", "ff 22", "ff 23", "opera 15", "opera 16", "opera 17", "opera 18", "opera 19", "opera 20", "opera 21", "safari 3.1", "safari 3.2", "safari 4", "safari 5", "safari 5.1", "safari 6", "safari 6.1", "safari 7"]
         
     | 
| 
         @@ -4188,23 +4201,13 @@ var substr = 'ab'.substr(-1) === 'b' 
     | 
|
| 
       4188 
4201 
     | 
    
         
             
                };
         
     | 
| 
       4189 
4202 
     | 
    
         | 
| 
       4190 
4203 
     | 
    
         
             
                MapGenerator.prototype.applyPrevMap = function() {
         
     | 
| 
       4191 
     | 
    
         
            -
                  var from, prev 
     | 
| 
      
 4204 
     | 
    
         
            +
                  var from, prev;
         
     | 
| 
       4192 
4205 
     | 
    
         
             
                  if (this.prevMap()) {
         
     | 
| 
       4193 
4206 
     | 
    
         
             
                    prev = this.prevMap();
         
     | 
| 
       4194 
4207 
     | 
    
         
             
                    prev = typeof prev === 'string' ? JSON.parse(prev) : prev instanceof mozilla.SourceMapConsumer ? mozilla.SourceMapGenerator.fromSourceMap(prev).toJSON() : typeof prev === 'object' && prev.toJSON ? prev.toJSON() : prev;
         
     | 
| 
       4195 
     | 
    
         
            -
                    from = path.dirname(this.opts.from);
         
     | 
| 
       4196 
     | 
    
         
            -
                    prev.sources = (function() {
         
     | 
| 
       4197 
     | 
    
         
            -
                      var _i, _len, _ref, _results;
         
     | 
| 
       4198 
     | 
    
         
            -
                      _ref = prev.sources;
         
     | 
| 
       4199 
     | 
    
         
            -
                      _results = [];
         
     | 
| 
       4200 
     | 
    
         
            -
                      for (_i = 0, _len = _ref.length; _i < _len; _i++) {
         
     | 
| 
       4201 
     | 
    
         
            -
                        source = _ref[_i];
         
     | 
| 
       4202 
     | 
    
         
            -
                        _results.push(this.relative(path.resolve(from, source)));
         
     | 
| 
       4203 
     | 
    
         
            -
                      }
         
     | 
| 
       4204 
     | 
    
         
            -
                      return _results;
         
     | 
| 
       4205 
     | 
    
         
            -
                    }).call(this);
         
     | 
| 
       4206 
4208 
     | 
    
         
             
                    prev = new mozilla.SourceMapConsumer(prev);
         
     | 
| 
       4207 
     | 
    
         
            -
                     
     | 
| 
      
 4209 
     | 
    
         
            +
                    from = this.relative(this.opts.from);
         
     | 
| 
      
 4210 
     | 
    
         
            +
                    return this.map.applySourceMap(prev, from, path.dirname(from));
         
     | 
| 
       4208 
4211 
     | 
    
         
             
                  }
         
     | 
| 
       4209 
4212 
     | 
    
         
             
                };
         
     | 
| 
       4210 
4213 
     | 
    
         | 
| 
         @@ -5870,7 +5873,7 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       5870 
5873 
     | 
    
         
             
               *   - sourceRoot: Optional. The URL root from which all sources are relative.
         
     | 
| 
       5871 
5874 
     | 
    
         
             
               *   - sourcesContent: Optional. An array of contents of the original source files.
         
     | 
| 
       5872 
5875 
     | 
    
         
             
               *   - mappings: A string of base64 VLQs which contain the actual mappings.
         
     | 
| 
       5873 
     | 
    
         
            -
               *   - file: The generated file this source map is associated with.
         
     | 
| 
      
 5876 
     | 
    
         
            +
               *   - file: Optional. The generated file this source map is associated with.
         
     | 
| 
       5874 
5877 
     | 
    
         
             
               *
         
     | 
| 
       5875 
5878 
     | 
    
         
             
               * Here is an example source map, taken from the source map spec[0]:
         
     | 
| 
       5876 
5879 
     | 
    
         
             
               *
         
     | 
| 
         @@ -6154,7 +6157,7 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       6154 
6157 
     | 
    
         
             
                                                  "generatedColumn",
         
     | 
| 
       6155 
6158 
     | 
    
         
             
                                                  util.compareByGeneratedPositions);
         
     | 
| 
       6156 
6159 
     | 
    
         | 
| 
       6157 
     | 
    
         
            -
                  if (mapping) {
         
     | 
| 
      
 6160 
     | 
    
         
            +
                  if (mapping && mapping.generatedLine === needle.generatedLine) {
         
     | 
| 
       6158 
6161 
     | 
    
         
             
                    var source = util.getArg(mapping, 'source', null);
         
     | 
| 
       6159 
6162 
     | 
    
         
             
                    if (source && this.sourceRoot) {
         
     | 
| 
       6160 
6163 
     | 
    
         
             
                      source = util.join(this.sourceRoot, source);
         
     | 
| 
         @@ -6336,14 +6339,17 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       6336 
6339 
     | 
    
         | 
| 
       6337 
6340 
     | 
    
         
             
              /**
         
     | 
| 
       6338 
6341 
     | 
    
         
             
               * An instance of the SourceMapGenerator represents a source map which is
         
     | 
| 
       6339 
     | 
    
         
            -
               * being built incrementally.  
     | 
| 
       6340 
     | 
    
         
            -
               *  
     | 
| 
      
 6342 
     | 
    
         
            +
               * being built incrementally. You may pass an object with the following
         
     | 
| 
      
 6343 
     | 
    
         
            +
               * properties:
         
     | 
| 
       6341 
6344 
     | 
    
         
             
               *
         
     | 
| 
       6342 
6345 
     | 
    
         
             
               *   - file: The filename of the generated source.
         
     | 
| 
       6343 
     | 
    
         
            -
               *   - sourceRoot:  
     | 
| 
      
 6346 
     | 
    
         
            +
               *   - sourceRoot: A root for all relative URLs in this source map.
         
     | 
| 
       6344 
6347 
     | 
    
         
             
               */
         
     | 
| 
       6345 
6348 
     | 
    
         
             
              function SourceMapGenerator(aArgs) {
         
     | 
| 
       6346 
     | 
    
         
            -
                 
     | 
| 
      
 6349 
     | 
    
         
            +
                if (!aArgs) {
         
     | 
| 
      
 6350 
     | 
    
         
            +
                  aArgs = {};
         
     | 
| 
      
 6351 
     | 
    
         
            +
                }
         
     | 
| 
      
 6352 
     | 
    
         
            +
                this._file = util.getArg(aArgs, 'file', null);
         
     | 
| 
       6347 
6353 
     | 
    
         
             
                this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);
         
     | 
| 
       6348 
6354 
     | 
    
         
             
                this._sources = new ArraySet();
         
     | 
| 
       6349 
6355 
     | 
    
         
             
                this._names = new ArraySet();
         
     | 
| 
         @@ -6473,11 +6479,23 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       6473 
6479 
     | 
    
         
             
               * @param aSourceMapConsumer The source map to be applied.
         
     | 
| 
       6474 
6480 
     | 
    
         
             
               * @param aSourceFile Optional. The filename of the source file.
         
     | 
| 
       6475 
6481 
     | 
    
         
             
               *        If omitted, SourceMapConsumer's file property will be used.
         
     | 
| 
      
 6482 
     | 
    
         
            +
               * @param aSourceMapPath Optional. The dirname of the path to the source map
         
     | 
| 
      
 6483 
     | 
    
         
            +
               *        to be applied. If relative, it is relative to the SourceMapConsumer.
         
     | 
| 
      
 6484 
     | 
    
         
            +
               *        This parameter is needed when the two source maps aren't in the same
         
     | 
| 
      
 6485 
     | 
    
         
            +
               *        directory, and the source map to be applied contains relative source
         
     | 
| 
      
 6486 
     | 
    
         
            +
               *        paths. If so, those relative source paths need to be rewritten
         
     | 
| 
      
 6487 
     | 
    
         
            +
               *        relative to the SourceMapGenerator.
         
     | 
| 
       6476 
6488 
     | 
    
         
             
               */
         
     | 
| 
       6477 
6489 
     | 
    
         
             
              SourceMapGenerator.prototype.applySourceMap =
         
     | 
| 
       6478 
     | 
    
         
            -
                function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile) {
         
     | 
| 
      
 6490 
     | 
    
         
            +
                function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {
         
     | 
| 
       6479 
6491 
     | 
    
         
             
                  // If aSourceFile is omitted, we will use the file property of the SourceMap
         
     | 
| 
       6480 
6492 
     | 
    
         
             
                  if (!aSourceFile) {
         
     | 
| 
      
 6493 
     | 
    
         
            +
                    if (!aSourceMapConsumer.file) {
         
     | 
| 
      
 6494 
     | 
    
         
            +
                      throw new Error(
         
     | 
| 
      
 6495 
     | 
    
         
            +
                        'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +
         
     | 
| 
      
 6496 
     | 
    
         
            +
                        'or the source map\'s "file" property. Both were omitted.'
         
     | 
| 
      
 6497 
     | 
    
         
            +
                      );
         
     | 
| 
      
 6498 
     | 
    
         
            +
                    }
         
     | 
| 
       6481 
6499 
     | 
    
         
             
                    aSourceFile = aSourceMapConsumer.file;
         
     | 
| 
       6482 
6500 
     | 
    
         
             
                  }
         
     | 
| 
       6483 
6501 
     | 
    
         
             
                  var sourceRoot = this._sourceRoot;
         
     | 
| 
         @@ -6500,10 +6518,12 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       6500 
6518 
     | 
    
         
             
                      });
         
     | 
| 
       6501 
6519 
     | 
    
         
             
                      if (original.source !== null) {
         
     | 
| 
       6502 
6520 
     | 
    
         
             
                        // Copy mapping
         
     | 
| 
      
 6521 
     | 
    
         
            +
                        mapping.source = original.source;
         
     | 
| 
      
 6522 
     | 
    
         
            +
                        if (aSourceMapPath) {
         
     | 
| 
      
 6523 
     | 
    
         
            +
                          mapping.source = util.join(aSourceMapPath, mapping.source)
         
     | 
| 
      
 6524 
     | 
    
         
            +
                        }
         
     | 
| 
       6503 
6525 
     | 
    
         
             
                        if (sourceRoot) {
         
     | 
| 
       6504 
     | 
    
         
            -
                          mapping.source = util.relative(sourceRoot,  
     | 
| 
       6505 
     | 
    
         
            -
                        } else {
         
     | 
| 
       6506 
     | 
    
         
            -
                          mapping.source = original.source;
         
     | 
| 
      
 6526 
     | 
    
         
            +
                          mapping.source = util.relative(sourceRoot, mapping.source);
         
     | 
| 
       6507 
6527 
     | 
    
         
             
                        }
         
     | 
| 
       6508 
6528 
     | 
    
         
             
                        mapping.originalLine = original.line;
         
     | 
| 
       6509 
6529 
     | 
    
         
             
                        mapping.originalColumn = original.column;
         
     | 
| 
         @@ -6762,41 +6782,16 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       6762 
6782 
     | 
    
         
             
                  var lastMapping = null;
         
     | 
| 
       6763 
6783 
     | 
    
         | 
| 
       6764 
6784 
     | 
    
         
             
                  aSourceMapConsumer.eachMapping(function (mapping) {
         
     | 
| 
       6765 
     | 
    
         
            -
                    if (lastMapping  
     | 
| 
       6766 
     | 
    
         
            -
                      // We add the generated code until the first mapping
         
     | 
| 
       6767 
     | 
    
         
            -
                      // to the SourceNode without any mapping.
         
     | 
| 
       6768 
     | 
    
         
            -
                      // Each line is added as separate string.
         
     | 
| 
       6769 
     | 
    
         
            -
                      while (lastGeneratedLine < mapping.generatedLine) {
         
     | 
| 
       6770 
     | 
    
         
            -
                        node.add(remainingLines.shift() + "\n");
         
     | 
| 
       6771 
     | 
    
         
            -
                        lastGeneratedLine++;
         
     | 
| 
       6772 
     | 
    
         
            -
                      }
         
     | 
| 
       6773 
     | 
    
         
            -
                      if (lastGeneratedColumn < mapping.generatedColumn) {
         
     | 
| 
       6774 
     | 
    
         
            -
                        var nextLine = remainingLines[0];
         
     | 
| 
       6775 
     | 
    
         
            -
                        node.add(nextLine.substr(0, mapping.generatedColumn));
         
     | 
| 
       6776 
     | 
    
         
            -
                        remainingLines[0] = nextLine.substr(mapping.generatedColumn);
         
     | 
| 
       6777 
     | 
    
         
            -
                        lastGeneratedColumn = mapping.generatedColumn;
         
     | 
| 
       6778 
     | 
    
         
            -
                      }
         
     | 
| 
       6779 
     | 
    
         
            -
                    } else {
         
     | 
| 
      
 6785 
     | 
    
         
            +
                    if (lastMapping !== null) {
         
     | 
| 
       6780 
6786 
     | 
    
         
             
                      // We add the code from "lastMapping" to "mapping":
         
     | 
| 
       6781 
6787 
     | 
    
         
             
                      // First check if there is a new line in between.
         
     | 
| 
       6782 
6788 
     | 
    
         
             
                      if (lastGeneratedLine < mapping.generatedLine) {
         
     | 
| 
       6783 
6789 
     | 
    
         
             
                        var code = "";
         
     | 
| 
       6784 
     | 
    
         
            -
                        // Associate  
     | 
| 
       6785 
     | 
    
         
            -
                         
     | 
| 
       6786 
     | 
    
         
            -
             
     | 
| 
       6787 
     | 
    
         
            -
             
     | 
| 
       6788 
     | 
    
         
            -
             
     | 
| 
       6789 
     | 
    
         
            -
                        } while (lastGeneratedLine < mapping.generatedLine);
         
     | 
| 
       6790 
     | 
    
         
            -
                        // When we reached the correct line, we add code until we
         
     | 
| 
       6791 
     | 
    
         
            -
                        // reach the correct column too.
         
     | 
| 
       6792 
     | 
    
         
            -
                        if (lastGeneratedColumn < mapping.generatedColumn) {
         
     | 
| 
       6793 
     | 
    
         
            -
                          var nextLine = remainingLines[0];
         
     | 
| 
       6794 
     | 
    
         
            -
                          code += nextLine.substr(0, mapping.generatedColumn);
         
     | 
| 
       6795 
     | 
    
         
            -
                          remainingLines[0] = nextLine.substr(mapping.generatedColumn);
         
     | 
| 
       6796 
     | 
    
         
            -
                          lastGeneratedColumn = mapping.generatedColumn;
         
     | 
| 
       6797 
     | 
    
         
            -
                        }
         
     | 
| 
       6798 
     | 
    
         
            -
                        // Create the SourceNode.
         
     | 
| 
       6799 
     | 
    
         
            -
                        addMappingWithCode(lastMapping, code);
         
     | 
| 
      
 6790 
     | 
    
         
            +
                        // Associate first line with "lastMapping"
         
     | 
| 
      
 6791 
     | 
    
         
            +
                        addMappingWithCode(lastMapping, remainingLines.shift() + "\n");
         
     | 
| 
      
 6792 
     | 
    
         
            +
                        lastGeneratedLine++;
         
     | 
| 
      
 6793 
     | 
    
         
            +
                        lastGeneratedColumn = 0;
         
     | 
| 
      
 6794 
     | 
    
         
            +
                        // The remaining code is added without mapping
         
     | 
| 
       6800 
6795 
     | 
    
         
             
                      } else {
         
     | 
| 
       6801 
6796 
     | 
    
         
             
                        // There is no new line in between.
         
     | 
| 
       6802 
6797 
     | 
    
         
             
                        // Associate the code between "lastGeneratedColumn" and
         
     | 
| 
         @@ -6808,14 +6803,37 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       6808 
6803 
     | 
    
         
             
                                                            lastGeneratedColumn);
         
     | 
| 
       6809 
6804 
     | 
    
         
             
                        lastGeneratedColumn = mapping.generatedColumn;
         
     | 
| 
       6810 
6805 
     | 
    
         
             
                        addMappingWithCode(lastMapping, code);
         
     | 
| 
      
 6806 
     | 
    
         
            +
                        // No more remaining code, continue
         
     | 
| 
      
 6807 
     | 
    
         
            +
                        lastMapping = mapping;
         
     | 
| 
      
 6808 
     | 
    
         
            +
                        return;
         
     | 
| 
       6811 
6809 
     | 
    
         
             
                      }
         
     | 
| 
       6812 
6810 
     | 
    
         
             
                    }
         
     | 
| 
      
 6811 
     | 
    
         
            +
                    // We add the generated code until the first mapping
         
     | 
| 
      
 6812 
     | 
    
         
            +
                    // to the SourceNode without any mapping.
         
     | 
| 
      
 6813 
     | 
    
         
            +
                    // Each line is added as separate string.
         
     | 
| 
      
 6814 
     | 
    
         
            +
                    while (lastGeneratedLine < mapping.generatedLine) {
         
     | 
| 
      
 6815 
     | 
    
         
            +
                      node.add(remainingLines.shift() + "\n");
         
     | 
| 
      
 6816 
     | 
    
         
            +
                      lastGeneratedLine++;
         
     | 
| 
      
 6817 
     | 
    
         
            +
                    }
         
     | 
| 
      
 6818 
     | 
    
         
            +
                    if (lastGeneratedColumn < mapping.generatedColumn) {
         
     | 
| 
      
 6819 
     | 
    
         
            +
                      var nextLine = remainingLines[0];
         
     | 
| 
      
 6820 
     | 
    
         
            +
                      node.add(nextLine.substr(0, mapping.generatedColumn));
         
     | 
| 
      
 6821 
     | 
    
         
            +
                      remainingLines[0] = nextLine.substr(mapping.generatedColumn);
         
     | 
| 
      
 6822 
     | 
    
         
            +
                      lastGeneratedColumn = mapping.generatedColumn;
         
     | 
| 
      
 6823 
     | 
    
         
            +
                    }
         
     | 
| 
       6813 
6824 
     | 
    
         
             
                    lastMapping = mapping;
         
     | 
| 
       6814 
6825 
     | 
    
         
             
                  }, this);
         
     | 
| 
       6815 
6826 
     | 
    
         
             
                  // We have processed all mappings.
         
     | 
| 
       6816 
     | 
    
         
            -
                   
     | 
| 
       6817 
     | 
    
         
            -
             
     | 
| 
       6818 
     | 
    
         
            -
             
     | 
| 
      
 6827 
     | 
    
         
            +
                  if (remainingLines.length > 0) {
         
     | 
| 
      
 6828 
     | 
    
         
            +
                    if (lastMapping) {
         
     | 
| 
      
 6829 
     | 
    
         
            +
                      // Associate the remaining code in the current line with "lastMapping"
         
     | 
| 
      
 6830 
     | 
    
         
            +
                      var lastLine = remainingLines.shift();
         
     | 
| 
      
 6831 
     | 
    
         
            +
                      if (remainingLines.length > 0) lastLine += "\n";
         
     | 
| 
      
 6832 
     | 
    
         
            +
                      addMappingWithCode(lastMapping, lastLine);
         
     | 
| 
      
 6833 
     | 
    
         
            +
                    }
         
     | 
| 
      
 6834 
     | 
    
         
            +
                    // and add the remaining lines without any mapping
         
     | 
| 
      
 6835 
     | 
    
         
            +
                    node.add(remainingLines.join("\n"));
         
     | 
| 
      
 6836 
     | 
    
         
            +
                  }
         
     | 
| 
       6819 
6837 
     | 
    
         | 
| 
       6820 
6838 
     | 
    
         
             
                  // Copy sourcesContent into SourceNode
         
     | 
| 
       6821 
6839 
     | 
    
         
             
                  aSourceMapConsumer.sources.forEach(function (sourceFile) {
         
     | 
| 
         @@ -7053,10 +7071,28 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       7053 
7071 
     | 
    
         
             
                    lastOriginalSource = null;
         
     | 
| 
       7054 
7072 
     | 
    
         
             
                    sourceMappingActive = false;
         
     | 
| 
       7055 
7073 
     | 
    
         
             
                  }
         
     | 
| 
       7056 
     | 
    
         
            -
                  chunk.split('').forEach(function (ch) {
         
     | 
| 
      
 7074 
     | 
    
         
            +
                  chunk.split('').forEach(function (ch, idx, array) {
         
     | 
| 
       7057 
7075 
     | 
    
         
             
                    if (ch === '\n') {
         
     | 
| 
       7058 
7076 
     | 
    
         
             
                      generated.line++;
         
     | 
| 
       7059 
7077 
     | 
    
         
             
                      generated.column = 0;
         
     | 
| 
      
 7078 
     | 
    
         
            +
                      // Mappings end at eol
         
     | 
| 
      
 7079 
     | 
    
         
            +
                      if (idx + 1 === array.length) {
         
     | 
| 
      
 7080 
     | 
    
         
            +
                        lastOriginalSource = null;
         
     | 
| 
      
 7081 
     | 
    
         
            +
                        sourceMappingActive = false;
         
     | 
| 
      
 7082 
     | 
    
         
            +
                      } else if (sourceMappingActive) {
         
     | 
| 
      
 7083 
     | 
    
         
            +
                        map.addMapping({
         
     | 
| 
      
 7084 
     | 
    
         
            +
                          source: original.source,
         
     | 
| 
      
 7085 
     | 
    
         
            +
                          original: {
         
     | 
| 
      
 7086 
     | 
    
         
            +
                            line: original.line,
         
     | 
| 
      
 7087 
     | 
    
         
            +
                            column: original.column
         
     | 
| 
      
 7088 
     | 
    
         
            +
                          },
         
     | 
| 
      
 7089 
     | 
    
         
            +
                          generated: {
         
     | 
| 
      
 7090 
     | 
    
         
            +
                            line: generated.line,
         
     | 
| 
      
 7091 
     | 
    
         
            +
                            column: generated.column
         
     | 
| 
      
 7092 
     | 
    
         
            +
                          },
         
     | 
| 
      
 7093 
     | 
    
         
            +
                          name: original.name
         
     | 
| 
      
 7094 
     | 
    
         
            +
                        });
         
     | 
| 
      
 7095 
     | 
    
         
            +
                      }
         
     | 
| 
       7060 
7096 
     | 
    
         
             
                    } else {
         
     | 
| 
       7061 
7097 
     | 
    
         
             
                      generated.column++;
         
     | 
| 
       7062 
7098 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -7106,8 +7142,8 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       7106 
7142 
     | 
    
         
             
              }
         
     | 
| 
       7107 
7143 
     | 
    
         
             
              exports.getArg = getArg;
         
     | 
| 
       7108 
7144 
     | 
    
         | 
| 
       7109 
     | 
    
         
            -
              var urlRegexp =  
     | 
| 
       7110 
     | 
    
         
            -
              var dataUrlRegexp = /^data 
     | 
| 
      
 7145 
     | 
    
         
            +
              var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/;
         
     | 
| 
      
 7146 
     | 
    
         
            +
              var dataUrlRegexp = /^data:.+\,.+$/;
         
     | 
| 
       7111 
7147 
     | 
    
         | 
| 
       7112 
7148 
     | 
    
         
             
              function urlParse(aUrl) {
         
     | 
| 
       7113 
7149 
     | 
    
         
             
                var match = aUrl.match(urlRegexp);
         
     | 
| 
         @@ -7116,18 +7152,22 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       7116 
7152 
     | 
    
         
             
                }
         
     | 
| 
       7117 
7153 
     | 
    
         
             
                return {
         
     | 
| 
       7118 
7154 
     | 
    
         
             
                  scheme: match[1],
         
     | 
| 
       7119 
     | 
    
         
            -
                  auth: match[ 
     | 
| 
       7120 
     | 
    
         
            -
                  host: match[ 
     | 
| 
       7121 
     | 
    
         
            -
                  port: match[ 
     | 
| 
       7122 
     | 
    
         
            -
                  path: match[ 
     | 
| 
      
 7155 
     | 
    
         
            +
                  auth: match[2],
         
     | 
| 
      
 7156 
     | 
    
         
            +
                  host: match[3],
         
     | 
| 
      
 7157 
     | 
    
         
            +
                  port: match[4],
         
     | 
| 
      
 7158 
     | 
    
         
            +
                  path: match[5]
         
     | 
| 
       7123 
7159 
     | 
    
         
             
                };
         
     | 
| 
       7124 
7160 
     | 
    
         
             
              }
         
     | 
| 
       7125 
7161 
     | 
    
         
             
              exports.urlParse = urlParse;
         
     | 
| 
       7126 
7162 
     | 
    
         | 
| 
       7127 
7163 
     | 
    
         
             
              function urlGenerate(aParsedUrl) {
         
     | 
| 
       7128 
     | 
    
         
            -
                var url =  
     | 
| 
      
 7164 
     | 
    
         
            +
                var url = '';
         
     | 
| 
      
 7165 
     | 
    
         
            +
                if (aParsedUrl.scheme) {
         
     | 
| 
      
 7166 
     | 
    
         
            +
                  url += aParsedUrl.scheme + ':';
         
     | 
| 
      
 7167 
     | 
    
         
            +
                }
         
     | 
| 
      
 7168 
     | 
    
         
            +
                url += '//';
         
     | 
| 
       7129 
7169 
     | 
    
         
             
                if (aParsedUrl.auth) {
         
     | 
| 
       7130 
     | 
    
         
            -
                  url += aParsedUrl.auth +  
     | 
| 
      
 7170 
     | 
    
         
            +
                  url += aParsedUrl.auth + '@';
         
     | 
| 
       7131 
7171 
     | 
    
         
             
                }
         
     | 
| 
       7132 
7172 
     | 
    
         
             
                if (aParsedUrl.host) {
         
     | 
| 
       7133 
7173 
     | 
    
         
             
                  url += aParsedUrl.host;
         
     | 
| 
         @@ -7142,19 +7182,112 @@ define(function (_dereq_, exports, module) { 
     | 
|
| 
       7142 
7182 
     | 
    
         
             
              }
         
     | 
| 
       7143 
7183 
     | 
    
         
             
              exports.urlGenerate = urlGenerate;
         
     | 
| 
       7144 
7184 
     | 
    
         | 
| 
      
 7185 
     | 
    
         
            +
              /**
         
     | 
| 
      
 7186 
     | 
    
         
            +
               * Normalizes a path, or the path portion of a URL:
         
     | 
| 
      
 7187 
     | 
    
         
            +
               *
         
     | 
| 
      
 7188 
     | 
    
         
            +
               * - Replaces consequtive slashes with one slash.
         
     | 
| 
      
 7189 
     | 
    
         
            +
               * - Removes unnecessary '.' parts.
         
     | 
| 
      
 7190 
     | 
    
         
            +
               * - Removes unnecessary '<dir>/..' parts.
         
     | 
| 
      
 7191 
     | 
    
         
            +
               *
         
     | 
| 
      
 7192 
     | 
    
         
            +
               * Based on code in the Node.js 'path' core module.
         
     | 
| 
      
 7193 
     | 
    
         
            +
               *
         
     | 
| 
      
 7194 
     | 
    
         
            +
               * @param aPath The path or url to normalize.
         
     | 
| 
      
 7195 
     | 
    
         
            +
               */
         
     | 
| 
      
 7196 
     | 
    
         
            +
              function normalize(aPath) {
         
     | 
| 
      
 7197 
     | 
    
         
            +
                var path = aPath;
         
     | 
| 
      
 7198 
     | 
    
         
            +
                var url = urlParse(aPath);
         
     | 
| 
      
 7199 
     | 
    
         
            +
                if (url) {
         
     | 
| 
      
 7200 
     | 
    
         
            +
                  if (!url.path) {
         
     | 
| 
      
 7201 
     | 
    
         
            +
                    return aPath;
         
     | 
| 
      
 7202 
     | 
    
         
            +
                  }
         
     | 
| 
      
 7203 
     | 
    
         
            +
                  path = url.path;
         
     | 
| 
      
 7204 
     | 
    
         
            +
                }
         
     | 
| 
      
 7205 
     | 
    
         
            +
                var isAbsolute = (path.charAt(0) === '/');
         
     | 
| 
      
 7206 
     | 
    
         
            +
             
     | 
| 
      
 7207 
     | 
    
         
            +
                var parts = path.split(/\/+/);
         
     | 
| 
      
 7208 
     | 
    
         
            +
                for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {
         
     | 
| 
      
 7209 
     | 
    
         
            +
                  part = parts[i];
         
     | 
| 
      
 7210 
     | 
    
         
            +
                  if (part === '.') {
         
     | 
| 
      
 7211 
     | 
    
         
            +
                    parts.splice(i, 1);
         
     | 
| 
      
 7212 
     | 
    
         
            +
                  } else if (part === '..') {
         
     | 
| 
      
 7213 
     | 
    
         
            +
                    up++;
         
     | 
| 
      
 7214 
     | 
    
         
            +
                  } else if (up > 0) {
         
     | 
| 
      
 7215 
     | 
    
         
            +
                    if (part === '') {
         
     | 
| 
      
 7216 
     | 
    
         
            +
                      // The first part is blank if the path is absolute. Trying to go
         
     | 
| 
      
 7217 
     | 
    
         
            +
                      // above the root is a no-op. Therefore we can remove all '..' parts
         
     | 
| 
      
 7218 
     | 
    
         
            +
                      // directly after the root.
         
     | 
| 
      
 7219 
     | 
    
         
            +
                      parts.splice(i + 1, up);
         
     | 
| 
      
 7220 
     | 
    
         
            +
                      up = 0;
         
     | 
| 
      
 7221 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 7222 
     | 
    
         
            +
                      parts.splice(i, 2);
         
     | 
| 
      
 7223 
     | 
    
         
            +
                      up--;
         
     | 
| 
      
 7224 
     | 
    
         
            +
                    }
         
     | 
| 
      
 7225 
     | 
    
         
            +
                  }
         
     | 
| 
      
 7226 
     | 
    
         
            +
                }
         
     | 
| 
      
 7227 
     | 
    
         
            +
                path = parts.join('/');
         
     | 
| 
      
 7228 
     | 
    
         
            +
             
     | 
| 
      
 7229 
     | 
    
         
            +
                if (path === '') {
         
     | 
| 
      
 7230 
     | 
    
         
            +
                  path = isAbsolute ? '/' : '.';
         
     | 
| 
      
 7231 
     | 
    
         
            +
                }
         
     | 
| 
      
 7232 
     | 
    
         
            +
             
     | 
| 
      
 7233 
     | 
    
         
            +
                if (url) {
         
     | 
| 
      
 7234 
     | 
    
         
            +
                  url.path = path;
         
     | 
| 
      
 7235 
     | 
    
         
            +
                  return urlGenerate(url);
         
     | 
| 
      
 7236 
     | 
    
         
            +
                }
         
     | 
| 
      
 7237 
     | 
    
         
            +
                return path;
         
     | 
| 
      
 7238 
     | 
    
         
            +
              }
         
     | 
| 
      
 7239 
     | 
    
         
            +
              exports.normalize = normalize;
         
     | 
| 
      
 7240 
     | 
    
         
            +
             
     | 
| 
      
 7241 
     | 
    
         
            +
              /**
         
     | 
| 
      
 7242 
     | 
    
         
            +
               * Joins two paths/URLs.
         
     | 
| 
      
 7243 
     | 
    
         
            +
               *
         
     | 
| 
      
 7244 
     | 
    
         
            +
               * @param aRoot The root path or URL.
         
     | 
| 
      
 7245 
     | 
    
         
            +
               * @param aPath The path or URL to be joined with the root.
         
     | 
| 
      
 7246 
     | 
    
         
            +
               *
         
     | 
| 
      
 7247 
     | 
    
         
            +
               * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a
         
     | 
| 
      
 7248 
     | 
    
         
            +
               *   scheme-relative URL: Then the scheme of aRoot, if any, is prepended
         
     | 
| 
      
 7249 
     | 
    
         
            +
               *   first.
         
     | 
| 
      
 7250 
     | 
    
         
            +
               * - Otherwise aPath is a path. If aRoot is a URL, then its path portion
         
     | 
| 
      
 7251 
     | 
    
         
            +
               *   is updated with the result and aRoot is returned. Otherwise the result
         
     | 
| 
      
 7252 
     | 
    
         
            +
               *   is returned.
         
     | 
| 
      
 7253 
     | 
    
         
            +
               *   - If aPath is absolute, the result is aPath.
         
     | 
| 
      
 7254 
     | 
    
         
            +
               *   - Otherwise the two paths are joined with a slash.
         
     | 
| 
      
 7255 
     | 
    
         
            +
               * - Joining for example 'http://' and 'www.example.com' is also supported.
         
     | 
| 
      
 7256 
     | 
    
         
            +
               */
         
     | 
| 
       7145 
7257 
     | 
    
         
             
              function join(aRoot, aPath) {
         
     | 
| 
       7146 
     | 
    
         
            -
                var  
     | 
| 
      
 7258 
     | 
    
         
            +
                var aPathUrl = urlParse(aPath);
         
     | 
| 
      
 7259 
     | 
    
         
            +
                var aRootUrl = urlParse(aRoot);
         
     | 
| 
      
 7260 
     | 
    
         
            +
                if (aRootUrl) {
         
     | 
| 
      
 7261 
     | 
    
         
            +
                  aRoot = aRootUrl.path || '/';
         
     | 
| 
      
 7262 
     | 
    
         
            +
                }
         
     | 
| 
      
 7263 
     | 
    
         
            +
             
     | 
| 
      
 7264 
     | 
    
         
            +
                // `join(foo, '//www.example.org')`
         
     | 
| 
      
 7265 
     | 
    
         
            +
                if (aPathUrl && !aPathUrl.scheme) {
         
     | 
| 
      
 7266 
     | 
    
         
            +
                  if (aRootUrl) {
         
     | 
| 
      
 7267 
     | 
    
         
            +
                    aPathUrl.scheme = aRootUrl.scheme;
         
     | 
| 
      
 7268 
     | 
    
         
            +
                  }
         
     | 
| 
      
 7269 
     | 
    
         
            +
                  return urlGenerate(aPathUrl);
         
     | 
| 
      
 7270 
     | 
    
         
            +
                }
         
     | 
| 
       7147 
7271 
     | 
    
         | 
| 
       7148 
     | 
    
         
            -
                if ( 
     | 
| 
      
 7272 
     | 
    
         
            +
                if (aPathUrl || aPath.match(dataUrlRegexp)) {
         
     | 
| 
       7149 
7273 
     | 
    
         
             
                  return aPath;
         
     | 
| 
       7150 
7274 
     | 
    
         
             
                }
         
     | 
| 
       7151 
7275 
     | 
    
         | 
| 
       7152 
     | 
    
         
            -
                 
     | 
| 
       7153 
     | 
    
         
            -
             
     | 
| 
       7154 
     | 
    
         
            -
                   
     | 
| 
      
 7276 
     | 
    
         
            +
                // `join('http://', 'www.example.com')`
         
     | 
| 
      
 7277 
     | 
    
         
            +
                if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {
         
     | 
| 
      
 7278 
     | 
    
         
            +
                  aRootUrl.host = aPath;
         
     | 
| 
      
 7279 
     | 
    
         
            +
                  return urlGenerate(aRootUrl);
         
     | 
| 
       7155 
7280 
     | 
    
         
             
                }
         
     | 
| 
       7156 
7281 
     | 
    
         | 
| 
       7157 
     | 
    
         
            -
                 
     | 
| 
      
 7282 
     | 
    
         
            +
                var joined = aPath.charAt(0) === '/'
         
     | 
| 
      
 7283 
     | 
    
         
            +
                  ? aPath
         
     | 
| 
      
 7284 
     | 
    
         
            +
                  : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath);
         
     | 
| 
      
 7285 
     | 
    
         
            +
             
     | 
| 
      
 7286 
     | 
    
         
            +
                if (aRootUrl) {
         
     | 
| 
      
 7287 
     | 
    
         
            +
                  aRootUrl.path = joined;
         
     | 
| 
      
 7288 
     | 
    
         
            +
                  return urlGenerate(aRootUrl);
         
     | 
| 
      
 7289 
     | 
    
         
            +
                }
         
     | 
| 
      
 7290 
     | 
    
         
            +
                return joined;
         
     | 
| 
       7158 
7291 
     | 
    
         
             
              }
         
     | 
| 
       7159 
7292 
     | 
    
         
             
              exports.join = join;
         
     | 
| 
       7160 
7293 
     | 
    
         | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: autoprefixer-rails
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.1.20140302
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Andrey Sitnik
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2014-02 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2014-03-02 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: execjs
         
     |