google-closure-compiler 20161024.3.0 → 20170409.0.0

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.
Files changed (45) hide show
  1. package/README.md +327 -0
  2. package/compiler.jar +0 -0
  3. package/contrib/externs/angular-1.3-resource.js +6 -0
  4. package/contrib/externs/angular-1.3.js +4 -3
  5. package/contrib/externs/angular-1.4-resource.js +6 -0
  6. package/contrib/externs/angular-1.4.js +2 -2
  7. package/contrib/externs/angular-1.5-q_templated.js +19 -1
  8. package/contrib/externs/angular-1.5-resource.js +6 -0
  9. package/contrib/externs/angular-1.5.js +44 -9
  10. package/contrib/externs/angular-1.6-http-promise_templated.js +61 -0
  11. package/contrib/externs/angular-1.6-mocks.js +267 -0
  12. package/contrib/externs/angular-1.6-q_templated.js +194 -0
  13. package/contrib/externs/angular-1.6-resource.js +332 -0
  14. package/contrib/externs/{w3c_css.js → angular-1.6-test.js} +8 -6
  15. package/contrib/externs/angular-1.6.js +2646 -0
  16. package/contrib/externs/angular-cache-4.6.js +316 -0
  17. package/contrib/externs/angular-material-1.1.js +92 -33
  18. package/contrib/externs/angular-material.js +36 -5
  19. package/contrib/externs/chai-3.5.js +101 -2
  20. package/contrib/externs/chrome_extensions.js +267 -95
  21. package/contrib/externs/jasmine-2.0.js +23 -3
  22. package/contrib/externs/jquery-1.4.4.js +1 -1
  23. package/contrib/externs/jquery-1.5.js +1 -1
  24. package/contrib/externs/jquery-1.6.js +1 -1
  25. package/contrib/externs/jquery-3.0.js +2037 -0
  26. package/contrib/externs/jquery-3.1.js +2045 -0
  27. package/contrib/externs/maps/google_maps_api_v3.js +306 -263
  28. package/contrib/externs/maps/google_maps_api_v3_27.js +6732 -0
  29. package/contrib/externs/maps/google_maps_api_v3_28.js +6637 -0
  30. package/contrib/externs/maps/google_maps_api_v3_exp.js +41 -106
  31. package/contrib/externs/mocha-2.5.js +65 -14
  32. package/contrib/externs/polymer-1.0.js +43 -5
  33. package/contrib/externs/safari.js +58 -0
  34. package/contrib/externs/sinon-1.17.js +719 -10
  35. package/contrib/externs/sinon-chai-2.7.js +78 -0
  36. package/contrib/externs/w3c_eventsource.js +6 -17
  37. package/contrib/externs/web_component_tester-4.2.js +6 -0
  38. package/contrib/nodejs/crypto.js +6 -6
  39. package/lib/gulp/index.js +2 -2
  40. package/lib/node/closure-compiler.js +3 -1
  41. package/package.json +8 -9
  42. package/contrib/externs/jquery-1.3.2.externs.js +0 -714
  43. package/contrib/externs/w3c_gamepad.js +0 -91
  44. package/contrib/externs/w3c_midi.js +0 -293
  45. package/contrib/externs/w3c_pointer_events.js +0 -105
@@ -15,7 +15,7 @@
15
15
  */
16
16
 
17
17
  /**
18
- * @fileoverview Externs for the Google Maps v3.26 API.
18
+ * @fileoverview Externs for the Google Maps v3.28 API.
19
19
  * @see http://code.google.com/apis/maps/documentation/javascript/reference.html
20
20
  * @externs
21
21
  */
@@ -37,26 +37,6 @@ google.maps.Animation = {
37
37
  DROP: 1
38
38
  };
39
39
 
40
- /**
41
- * @record
42
- */
43
- google.maps.Attribution = function() {};
44
-
45
- /**
46
- * @type {string}
47
- */
48
- google.maps.Attribution.prototype.iosDeepLinkId;
49
-
50
- /**
51
- * @type {string}
52
- */
53
- google.maps.Attribution.prototype.source;
54
-
55
- /**
56
- * @type {string}
57
- */
58
- google.maps.Attribution.prototype.webUrl;
59
-
60
40
  /**
61
41
  * @extends {google.maps.MVCObject}
62
42
  * @constructor
@@ -1249,6 +1229,11 @@ google.maps.DirectionsRequest.prototype.destination;
1249
1229
  */
1250
1230
  google.maps.DirectionsRequest.prototype.drivingOptions;
1251
1231
 
1232
+ /**
1233
+ * @type {boolean|undefined}
1234
+ */
1235
+ google.maps.DirectionsRequest.prototype.newForwardGeocoder;
1236
+
1252
1237
  /**
1253
1238
  * @type {boolean|undefined}
1254
1239
  */
@@ -1494,6 +1479,11 @@ google.maps.DistanceMatrixRequest.prototype.destinations;
1494
1479
  */
1495
1480
  google.maps.DistanceMatrixRequest.prototype.drivingOptions;
1496
1481
 
1482
+ /**
1483
+ * @type {boolean|undefined}
1484
+ */
1485
+ google.maps.DistanceMatrixRequest.prototype.newForwardGeocoder;
1486
+
1497
1487
  /**
1498
1488
  * @type {Array<(string|google.maps.LatLng|google.maps.Place)>}
1499
1489
  */
@@ -2046,6 +2036,11 @@ google.maps.GeocoderRequest.prototype.componentRestrictions;
2046
2036
  */
2047
2037
  google.maps.GeocoderRequest.prototype.location;
2048
2038
 
2039
+ /**
2040
+ * @type {boolean}
2041
+ */
2042
+ google.maps.GeocoderRequest.prototype.newForwardGeocoder;
2043
+
2049
2044
  /**
2050
2045
  * @type {string}
2051
2046
  */
@@ -2962,10 +2957,10 @@ google.maps.MVCObject.prototype.notify = function(key) {};
2962
2957
 
2963
2958
  /**
2964
2959
  * @param {string} key
2965
- * @param {?=} opt_value
2960
+ * @param {*} value
2966
2961
  * @return {undefined}
2967
2962
  */
2968
- google.maps.MVCObject.prototype.set = function(key, opt_value) {};
2963
+ google.maps.MVCObject.prototype.set = function(key, value) {};
2969
2964
 
2970
2965
  /**
2971
2966
  * @param {Object=} opt_values
@@ -3238,6 +3233,11 @@ google.maps.MapOptions.prototype.fullscreenControl;
3238
3233
  */
3239
3234
  google.maps.MapOptions.prototype.fullscreenControlOptions;
3240
3235
 
3236
+ /**
3237
+ * @type {string}
3238
+ */
3239
+ google.maps.MapOptions.prototype.gestureHandling;
3240
+
3241
3241
  /**
3242
3242
  * @type {number}
3243
3243
  */
@@ -3313,11 +3313,6 @@ google.maps.MapOptions.prototype.scaleControlOptions;
3313
3313
  */
3314
3314
  google.maps.MapOptions.prototype.scrollwheel;
3315
3315
 
3316
- /**
3317
- * @type {boolean}
3318
- */
3319
- google.maps.MapOptions.prototype.signInControl;
3320
-
3321
3316
  /**
3322
3317
  * @type {google.maps.StreetViewPanorama}
3323
3318
  */
@@ -3359,7 +3354,7 @@ google.maps.MapOptions.prototype.zoomControl;
3359
3354
  google.maps.MapOptions.prototype.zoomControlOptions;
3360
3355
 
3361
3356
  /**
3362
- * @constructor
3357
+ * @record
3363
3358
  */
3364
3359
  google.maps.MapPanes = function() {};
3365
3360
 
@@ -3489,11 +3484,11 @@ google.maps.MapTypeRegistry = function() {};
3489
3484
 
3490
3485
  /**
3491
3486
  * @param {string} id
3492
- * @param {google.maps.MapType=} opt_mapType
3487
+ * @param {google.maps.MapType=} mapType
3493
3488
  * @return {undefined}
3494
3489
  * @override
3495
3490
  */
3496
- google.maps.MapTypeRegistry.prototype.set = function(id, opt_mapType) {};
3491
+ google.maps.MapTypeRegistry.prototype.set = function(id, mapType) {};
3497
3492
 
3498
3493
  /**
3499
3494
  * @record
@@ -3538,12 +3533,6 @@ google.maps.Marker = function(opt_opts) {};
3538
3533
  */
3539
3534
  google.maps.Marker.prototype.getAnimation = function() {};
3540
3535
 
3541
- /**
3542
- * @nosideeffects
3543
- * @return {google.maps.Attribution}
3544
- */
3545
- google.maps.Marker.prototype.getAttribution = function() {};
3546
-
3547
3536
  /**
3548
3537
  * @nosideeffects
3549
3538
  * @return {boolean}
@@ -3628,12 +3617,6 @@ google.maps.Marker.prototype.getZIndex = function() {};
3628
3617
  */
3629
3618
  google.maps.Marker.prototype.setAnimation = function(animation) {};
3630
3619
 
3631
- /**
3632
- * @param {google.maps.Attribution} attribution
3633
- * @return {undefined}
3634
- */
3635
- google.maps.Marker.prototype.setAttribution = function(attribution) {};
3636
-
3637
3620
  /**
3638
3621
  * @param {boolean} flag
3639
3622
  * @return {undefined}
@@ -3769,11 +3752,6 @@ google.maps.MarkerOptions.prototype.anchorPoint;
3769
3752
  */
3770
3753
  google.maps.MarkerOptions.prototype.animation;
3771
3754
 
3772
- /**
3773
- * @type {google.maps.Attribution}
3774
- */
3775
- google.maps.MarkerOptions.prototype.attribution;
3776
-
3777
3755
  /**
3778
3756
  * @type {boolean}
3779
3757
  */
@@ -3930,7 +3908,7 @@ google.maps.MotionTrackingControlOptions = function() {};
3930
3908
  google.maps.MotionTrackingControlOptions.prototype.position;
3931
3909
 
3932
3910
  /**
3933
- * @constructor
3911
+ * @record
3934
3912
  */
3935
3913
  google.maps.MouseEvent = function() {};
3936
3914
 
@@ -3963,7 +3941,7 @@ google.maps.OverlayView.prototype.getMap = function() {};
3963
3941
 
3964
3942
  /**
3965
3943
  * @nosideeffects
3966
- * @return {google.maps.MapPanes}
3944
+ * @return {?google.maps.MapPanes}
3967
3945
  */
3968
3946
  google.maps.OverlayView.prototype.getPanes = function() {};
3969
3947
 
@@ -4074,8 +4052,7 @@ google.maps.Point.prototype.equals = function(other) {};
4074
4052
  google.maps.Point.prototype.toString = function() {};
4075
4053
 
4076
4054
  /**
4077
- * @extends {google.maps.MouseEvent}
4078
- * @constructor
4055
+ * @record
4079
4056
  */
4080
4057
  google.maps.PolyMouseEvent = function() {};
4081
4058
 
@@ -4564,59 +4541,6 @@ google.maps.RotateControlOptions = function() {};
4564
4541
  */
4565
4542
  google.maps.RotateControlOptions.prototype.position;
4566
4543
 
4567
- /**
4568
- * @param {Node} container
4569
- * @param {(google.maps.SaveWidgetOptions|Object.<string>)=} opt_opts
4570
- * @extends {google.maps.MVCObject}
4571
- * @constructor
4572
- */
4573
- google.maps.SaveWidget = function(container, opt_opts) {};
4574
-
4575
- /**
4576
- * @nosideeffects
4577
- * @return {google.maps.Attribution}
4578
- */
4579
- google.maps.SaveWidget.prototype.getAttribution = function() {};
4580
-
4581
- /**
4582
- * @nosideeffects
4583
- * @return {google.maps.MarkerPlace}
4584
- */
4585
- google.maps.SaveWidget.prototype.getPlace = function() {};
4586
-
4587
- /**
4588
- * @param {google.maps.Attribution} attribution
4589
- * @return {undefined}
4590
- */
4591
- google.maps.SaveWidget.prototype.setAttribution = function(attribution) {};
4592
-
4593
- /**
4594
- * @param {google.maps.SaveWidgetOptions|Object.<string>} opts
4595
- * @return {undefined}
4596
- */
4597
- google.maps.SaveWidget.prototype.setOptions = function(opts) {};
4598
-
4599
- /**
4600
- * @param {google.maps.MarkerPlace} place
4601
- * @return {undefined}
4602
- */
4603
- google.maps.SaveWidget.prototype.setPlace = function(place) {};
4604
-
4605
- /**
4606
- * @record
4607
- */
4608
- google.maps.SaveWidgetOptions = function() {};
4609
-
4610
- /**
4611
- * @type {google.maps.Attribution}
4612
- */
4613
- google.maps.SaveWidgetOptions.prototype.attribution;
4614
-
4615
- /**
4616
- * @type {google.maps.MarkerPlace}
4617
- */
4618
- google.maps.SaveWidgetOptions.prototype.place;
4619
-
4620
4544
  /**
4621
4545
  * @record
4622
4546
  */
@@ -5973,6 +5897,16 @@ google.maps.places.AutocompleteOptions.prototype.bounds;
5973
5897
  */
5974
5898
  google.maps.places.AutocompleteOptions.prototype.componentRestrictions;
5975
5899
 
5900
+ /**
5901
+ * @type {boolean|undefined}
5902
+ */
5903
+ google.maps.places.AutocompleteOptions.prototype.placeIdOnly;
5904
+
5905
+ /**
5906
+ * @type {boolean|undefined}
5907
+ */
5908
+ google.maps.places.AutocompleteOptions.prototype.strictBounds;
5909
+
5976
5910
  /**
5977
5911
  * @type {Array<string>|undefined}
5978
5912
  */
@@ -6073,7 +6007,7 @@ google.maps.places.AutocompletionRequest.prototype.types;
6073
6007
  google.maps.places.ComponentRestrictions = function() {};
6074
6008
 
6075
6009
  /**
6076
- * @type {string}
6010
+ * @type {string|Array<string>}
6077
6011
  */
6078
6012
  google.maps.places.ComponentRestrictions.prototype.country;
6079
6013
 
@@ -6700,3 +6634,4 @@ google.maps.visualization.WeightedLocation.prototype.location;
6700
6634
  * @type {number}
6701
6635
  */
6702
6636
  google.maps.visualization.WeightedLocation.prototype.weight;
6637
+
@@ -24,36 +24,87 @@
24
24
  * @see https://mochajs.org/
25
25
  */
26
26
 
27
+ /**
28
+ * @typedef {function(function(*=): *): (*|IThenable<*>)}
29
+ */
30
+ var ActionFunction;
31
+
27
32
  // Below are the externs for the TDD API: https://mochajs.org/#tdd
28
33
 
29
34
  /**
30
- * @param {string} name
31
- * @param {!Function} cb
35
+ * @param {string} description
36
+ * @param {function(): void} spec
37
+ */
38
+ var suite = function(description, spec) {};
39
+
40
+ /**
41
+ * @param {!ActionFunction} action
42
+ */
43
+ var setup = function(action) {};
44
+
45
+ /**
46
+ * @param {!ActionFunction} action
47
+ */
48
+ var teardown = function(action) {};
49
+
50
+ /**
51
+ * @param {!ActionFunction} action
52
+ */
53
+ var suiteSetup = function(action) {};
54
+
55
+ /**
56
+ * @param {!ActionFunction} action
57
+ */
58
+ var suiteTeardown = function(action) {};
59
+
60
+ /**
61
+ * @param {string} expectation
62
+ * @param {!ActionFunction=} assertion
63
+ */
64
+ var test = function(expectation, assertion) {};
65
+
66
+ // Below are the externs for the BDD API: https://mochajs.org/#bdd
67
+
68
+ /**
69
+ * @param {string} description
70
+ * @param {function(): void} spec
71
+ */
72
+ var describe = function(description, spec) {};
73
+
74
+ /**
75
+ * @param {string} description
76
+ * @param {function(): void} spec
77
+ */
78
+ var context = function(description, spec) {};
79
+
80
+ /**
81
+ * @param {string} expectation
82
+ * @param {!ActionFunction=} assertion
32
83
  */
33
- var suite = function(name, cb) {};
84
+ var it = function(expectation, assertion) {};
34
85
 
35
86
  /**
36
- * @param {!Function} cb
87
+ * @param {string} expectation
88
+ * @param {!ActionFunction=} assertion
37
89
  */
38
- var setup = function(cb) {};
90
+ var specify = function(expectation, assertion) {};
39
91
 
40
92
  /**
41
- * @param {!Function} cb
93
+ * @param {!ActionFunction} action
42
94
  */
43
- var teardown = function(cb) {};
95
+ var before = function(action) {};
44
96
 
45
97
  /**
46
- * @param {!Function} cb
98
+ * @param {!ActionFunction} action
47
99
  */
48
- var suiteSetup = function(cb) {};
100
+ var after = function(action) {};
49
101
 
50
102
  /**
51
- * @param {!Function} cb
103
+ * @param {!ActionFunction} action
52
104
  */
53
- var suiteTeardown = function(cb) {};
105
+ var beforeEach = function(action) {};
54
106
 
55
107
  /**
56
- * @param {string} name
57
- * @param {!Function} cb
108
+ * @param {!ActionFunction} action
58
109
  */
59
- var test = function(name, cb) {};
110
+ var afterEach = function(action) {};
@@ -389,7 +389,7 @@ PolymerElement.prototype.toggleClass = function(name, bool, node) {};
389
389
  * if bool is truthy and removing it if bool is falsey. If node is specified,
390
390
  * sets the attribute on node instead of the host element.
391
391
  * @param {string} name
392
- * @param {boolean} bool
392
+ * @param {boolean=} bool
393
393
  * @param {HTMLElement=} node
394
394
  */
395
395
  PolymerElement.prototype.toggleAttribute = function(name, bool, node) {};
@@ -602,6 +602,13 @@ PolymerElement.prototype.importHref = function(href, onload, onerror) {};
602
602
  */
603
603
  PolymerElement.prototype.isLightDescendant = function(node) {};
604
604
 
605
+ /**
606
+ * Checks whether an element is in this element's local DOM tree.
607
+ * @param {?Node} node The element to be checked.
608
+ * @return {boolean} true if node is in this element's local DOM tree.
609
+ */
610
+ PolymerElement.prototype.isLocalDescendant = function(node) {};
611
+
605
612
  /**
606
613
  * Delete an element from an array.
607
614
  * @param {!Array|string} array Path to array from which to remove the item (or
@@ -731,7 +738,7 @@ PolymerDomApi.prototype.replaceChild = function(oldNode, newNode) {};
731
738
 
732
739
  /**
733
740
  * @param {!Node} node
734
- * @param {!Node} beforeNode
741
+ * @param {?Node} beforeNode
735
742
  */
736
743
  PolymerDomApi.prototype.insertBefore = function(node, beforeNode) {};
737
744
 
@@ -765,6 +772,12 @@ PolymerDomApi.prototype.previousSibling;
765
772
  /** @type {?Node} */
766
773
  PolymerDomApi.prototype.nextSibling;
767
774
 
775
+ /** @type {?HTMLElement} */
776
+ PolymerDomApi.prototype.previousElementSibling;
777
+
778
+ /** @type {?HTMLElement} */
779
+ PolymerDomApi.prototype.nextElementSibling;
780
+
768
781
  /** @type {string} */
769
782
  PolymerDomApi.prototype.textContent;
770
783
 
@@ -807,13 +820,18 @@ PolymerDomApi.prototype.setAttribute = function(attribute, value) {};
807
820
  PolymerDomApi.prototype.removeAttribute = function(attribute) {};
808
821
 
809
822
  /**
810
- * @typedef {function({
823
+ * @typedef {function(!PolymerDomApi.ObserveInfo)}
824
+ */
825
+ PolymerDomApi.ObserveCallback;
826
+
827
+ /**
828
+ * @typedef {{
811
829
  * target: !Node,
812
830
  * addedNodes: !Array<!Node>,
813
831
  * removedNodes: !Array<!Node>
814
- * })}
832
+ * }}
815
833
  */
816
- PolymerDomApi.ObserveCallback;
834
+ PolymerDomApi.ObserveInfo;
817
835
 
818
836
  /**
819
837
  * A virtual type for observer callback handles.
@@ -884,6 +902,18 @@ PolymerEventApi.prototype.event;
884
902
 
885
903
  Polymer.Async;
886
904
 
905
+ /**
906
+ * @param {function()} callback
907
+ * @param {number=} waitTime
908
+ * @return {number}
909
+ */
910
+ Polymer.Async.run = function (callback, waitTime) {};
911
+
912
+ /**
913
+ * @param {number} handle
914
+ */
915
+ Polymer.Async.cancel = function(handle) {};
916
+
887
917
  /**
888
918
  * polymer-onerror experiment relies on this private API, so expose it only
889
919
  * to let the compilation work. Do not use in user code.
@@ -1309,6 +1339,14 @@ Polymer.Iconset = function() {};
1309
1339
  Polymer.Iconset.prototype.applyIcon = function(
1310
1340
  element, icon, theme, scale) {};
1311
1341
 
1342
+ /**
1343
+ * Remove an icon from the given element by undoing the changes effected
1344
+ * by `applyIcon`.
1345
+ *
1346
+ * @param {Element} element The element from which the icon is removed.
1347
+ */
1348
+ Polymer.Iconset.prototype.removeIcon = function(element) {};
1349
+
1312
1350
  Polymer.ResolveUrl = {};
1313
1351
 
1314
1352
  /**
@@ -0,0 +1,58 @@
1
+ /*
2
+ * Copyright 2017 The Closure Compiler Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ /**
18
+ * @fileoverview Definitions for globals in Safari. This file describes the
19
+ * externs API for the safari.* object when running in a normal browser
20
+ * context.
21
+ * @see https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/NotificationProgrammingGuideForWebsites/PushNotifications/PushNotifications.html#//apple_ref/doc/uid/TP40013225-CH3-SW1
22
+ * @externs
23
+ */
24
+
25
+
26
+ /**
27
+ * namespace
28
+ * @const
29
+ */
30
+ var safari = {};
31
+
32
+
33
+ /**
34
+ * @typedef {{permission: (string), deviceToken: (string|undefined)}}
35
+ */
36
+ var PermissionObject;
37
+
38
+
39
+ /**
40
+ * @const
41
+ */
42
+ safari.pushNotification = {};
43
+
44
+
45
+ /**
46
+ * @param {string} websitePushID
47
+ * @return {!PermissionObject}
48
+ */
49
+ safari.pushNotification.permission = function(websitePushID) {};
50
+
51
+
52
+ /**
53
+ * @param {string} url
54
+ * @param {string} websitePushID
55
+ * @param {!Object<string, string>} userInfo
56
+ * @param {function(!PermissionObject)} callback
57
+ */
58
+ safari.pushNotification.requestPermission = function(url, websitePushID, userInfo, callback) {};