polymer-rails 1.1.2 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f6af060c005a4b9f3d7a7631ed258a09f8b72796
4
- data.tar.gz: 73bd6ea2e11eb0c34f118cbc4317b5cd8b4630db
3
+ metadata.gz: f6346498c89225b35229ef4da6c33c1eec56486c
4
+ data.tar.gz: 91f6d3c2d603c649c9d0c677cd356da0ffbbf5c0
5
5
  SHA512:
6
- metadata.gz: 860b465925381619cdc150096e249420e7e65010ed554e0793f32d650c88596376c36176f2b73586533da2438c58c4d9becaa43e1f3ec27cdac618fca2658e7d
7
- data.tar.gz: 7d324d014cc63df2308f928a0fdff92ed90fc85f0ea4a1f36019c1ff72f7d2d44cc689c024ea3a3f3680baf6d162c6ff009f8d100319d3decac16cd4d78d368a
6
+ metadata.gz: 9daa6731fd57bc121bdb8106079d226537a4392a0c1c14d7c8612e2ac83e45c03a6fbfb7de5793840908f601a8eabb25be6e4d6a25159b26f7b193861b03f659
7
+ data.tar.gz: 507084b7873dd864fecbcbd18904a2c38783709c93ded5292c5df702aeaa42d35a0a57e73d1e67eca6890adf592517b2767aa2f450206c4b97914702d45bac32
data/README.md CHANGED
@@ -12,7 +12,7 @@ Want to get started with [web components](http://www.w3.org/wiki/WebComponents/
12
12
  Polymer-rails works well with compiling assets, such as CoffeeScript and Sass.
13
13
  You can easily use external stylesheet or script tag references in your web component `<link rel="stylesheet" href="application.css">` for stylesheets and `<script src="application.js">` for javascripts.
14
14
  This assets will be automatically compiled and required into component html file.
15
- * Note that if you're using sass or coffe precompilation, assets are required to use '.css.sass' and '.js.coffee' extensions.*
15
+ * Note that if you're using sass or coffee precompilation, assets are required to use '.css.sass' and '.js.coffee' extensions.*
16
16
 
17
17
 
18
18
  ## Versions
@@ -56,10 +56,10 @@ prototype = {};
56
56
  }
57
57
  var factory = desugar(prototype);
58
58
  prototype = factory.prototype;
59
- var options = {
60
- prototype: prototype,
61
- extends: prototype.extends
62
- };
59
+ var options = { prototype: prototype };
60
+ if (prototype.extends) {
61
+ options.extends = prototype.extends;
62
+ }
63
63
  Polymer.telemetry._registrate(prototype);
64
64
  document.registerElement(prototype.is, options);
65
65
  return factory;
@@ -576,7 +576,7 @@ debouncer.stop();
576
576
  }
577
577
  }
578
578
  });
579
- Polymer.version = '1.1.2';
579
+ Polymer.version = '1.1.5';
580
580
  Polymer.Base._addFeature({
581
581
  _registerFeatures: function () {
582
582
  this._prepIs();
@@ -357,7 +357,15 @@ this.listen(node, name, listeners[key]);
357
357
  }
358
358
  },
359
359
  listen: function (node, eventName, methodName) {
360
- this._listen(node, eventName, this._createEventHandler(node, eventName, methodName));
360
+ var handler = this._recallEventHandler(this, eventName, node, methodName);
361
+ if (!handler) {
362
+ handler = this._createEventHandler(node, eventName, methodName);
363
+ }
364
+ if (handler._listening) {
365
+ return;
366
+ }
367
+ this._listen(node, eventName, handler);
368
+ handler._listening = true;
361
369
  },
362
370
  _boundListenerKey: function (eventName, methodName) {
363
371
  return eventName + ':' + methodName;
@@ -396,6 +404,7 @@ host[methodName](e, e.detail);
396
404
  host._warn(host._logf('_createEventHandler', 'listener method `' + methodName + '` not defined'));
397
405
  }
398
406
  };
407
+ handler._listening = false;
399
408
  this._recordEventHandler(host, eventName, node, methodName, handler);
400
409
  return handler;
401
410
  },
@@ -403,6 +412,7 @@ unlisten: function (node, eventName, methodName) {
403
412
  var handler = this._recallEventHandler(this, eventName, node, methodName);
404
413
  if (handler) {
405
414
  this._unlisten(node, eventName, handler);
415
+ handler._listening = false;
406
416
  }
407
417
  },
408
418
  _listen: function (node, eventName, handler) {
@@ -687,12 +697,12 @@ gd = gobj[dep];
687
697
  if (gd && gd[name]) {
688
698
  gd[name] = (gd[name] || 1) - 1;
689
699
  gd._count = (gd._count || 1) - 1;
690
- }
691
700
  if (gd._count === 0) {
692
701
  node.removeEventListener(dep, this.handleNative);
693
702
  }
694
703
  }
695
704
  }
705
+ }
696
706
  node.removeEventListener(evType, handler);
697
707
  },
698
708
  register: function (recog) {
@@ -1250,6 +1260,12 @@ elt[n] = props[n];
1250
1260
  }
1251
1261
  }
1252
1262
  return elt;
1263
+ },
1264
+ isLightDescendant: function (node) {
1265
+ return this.contains(node) && Polymer.dom(this).getOwnerRoot() === Polymer.dom(node).getOwnerRoot();
1266
+ },
1267
+ isLocalDescendant: function (node) {
1268
+ return this.root === Polymer.dom(node).getOwnerRoot();
1253
1269
  }
1254
1270
  });
1255
1271
  Polymer.Bind = {
@@ -1817,6 +1833,7 @@ var h$ = this._handlers;
1817
1833
  for (var i = 0, l = h$.length, h; i < l && (h = h$[i]); i++) {
1818
1834
  h[0].call(this, h[1], h[2]);
1819
1835
  }
1836
+ this._handlers = [];
1820
1837
  }
1821
1838
  });
1822
1839
  (function () {
@@ -1940,7 +1957,7 @@ this._boundPaths = this._boundPaths || {};
1940
1957
  if (from) {
1941
1958
  this._boundPaths[to] = from;
1942
1959
  } else {
1943
- this.unbindPath(to);
1960
+ this.unlinkPaths(to);
1944
1961
  }
1945
1962
  },
1946
1963
  unlinkPaths: function (path) {
@@ -1949,24 +1966,14 @@ delete this._boundPaths[path];
1949
1966
  }
1950
1967
  },
1951
1968
  _notifyBoundPaths: function (path, value) {
1952
- var from, to;
1953
1969
  for (var a in this._boundPaths) {
1954
1970
  var b = this._boundPaths[a];
1955
1971
  if (path.indexOf(a + '.') == 0) {
1956
- from = a;
1957
- to = b;
1958
- break;
1959
- }
1960
- if (path.indexOf(b + '.') == 0) {
1961
- from = b;
1962
- to = a;
1963
- break;
1972
+ this.notifyPath(this._fixPath(b, a, path), value);
1973
+ } else if (path.indexOf(b + '.') == 0) {
1974
+ this.notifyPath(this._fixPath(a, b, path), value);
1964
1975
  }
1965
1976
  }
1966
- if (from && to) {
1967
- var p = this._fixPath(to, from, path);
1968
- this.notifyPath(p, value);
1969
- }
1970
1977
  },
1971
1978
  _fixPath: function (property, root, path) {
1972
1979
  return property + path.slice(root.length);
@@ -2060,6 +2067,22 @@ if (args.length) {
2060
2067
  this._notifySplice(array, path, 0, args.length, []);
2061
2068
  }
2062
2069
  return ret;
2070
+ },
2071
+ prepareModelNotifyPath: function (model) {
2072
+ this.mixin(model, {
2073
+ fire: Polymer.Base.fire,
2074
+ notifyPath: Polymer.Base.notifyPath,
2075
+ _EVENT_CHANGED: Polymer.Base._EVENT_CHANGED,
2076
+ _notifyPath: Polymer.Base._notifyPath,
2077
+ _pathEffector: Polymer.Base._pathEffector,
2078
+ _annotationPathEffect: Polymer.Base._annotationPathEffect,
2079
+ _complexObserverPathEffect: Polymer.Base._complexObserverPathEffect,
2080
+ _annotatedComputationPathEffect: Polymer.Base._annotatedComputationPathEffect,
2081
+ _computePathEffect: Polymer.Base._computePathEffect,
2082
+ _modelForPath: Polymer.Base._modelForPath,
2083
+ _pathMatchesEffect: Polymer.Base._pathMatchesEffect,
2084
+ _notifyBoundPaths: Polymer.Base._notifyBoundPaths
2085
+ });
2063
2086
  }
2064
2087
  });
2065
2088
  }());
@@ -2193,7 +2216,7 @@ MIXIN_RULE: 1000
2193
2216
  OPEN_BRACE: '{',
2194
2217
  CLOSE_BRACE: '}',
2195
2218
  _rx: {
2196
- comments: /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,
2219
+ comments: /\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim,
2197
2220
  port: /@import[^;]*;/gim,
2198
2221
  customProp: /(?:^|[\s;])--[^;{]*?:[^{};]*?(?:[;\n]|$)/gim,
2199
2222
  mixinProp: /(?:^|[\s;])--[^;{]*?:[^{;]*?{[^}]*?}(?:[;\n]|$)?/gim,
@@ -3267,6 +3290,7 @@ properties: { __hideTemplateChildren__: { observer: '_showHideChildren' } },
3267
3290
  _instanceProps: Polymer.nob,
3268
3291
  _parentPropPrefix: '_parent_',
3269
3292
  templatize: function (template) {
3293
+ this._templatized = template;
3270
3294
  if (!template._content) {
3271
3295
  template._content = template.content;
3272
3296
  }
@@ -3277,11 +3301,11 @@ return;
3277
3301
  }
3278
3302
  var archetype = Object.create(Polymer.Base);
3279
3303
  this._customPrepAnnotations(archetype, template);
3304
+ this._prepParentProperties(archetype, template);
3280
3305
  archetype._prepEffects();
3281
3306
  this._customPrepEffects(archetype);
3282
3307
  archetype._prepBehaviors();
3283
3308
  archetype._prepBindings();
3284
- this._prepParentProperties(archetype, template);
3285
3309
  archetype._notifyPath = this._notifyPathImpl;
3286
3310
  archetype._scopeElementClass = this._scopeElementClassImpl;
3287
3311
  archetype.listen = this._listenImpl;
@@ -3364,6 +3388,7 @@ delete parentProps[prop];
3364
3388
  proto = archetype._parentPropProto = Object.create(null);
3365
3389
  if (template != this) {
3366
3390
  Polymer.Bind.prepareModel(proto);
3391
+ Polymer.Base.prepareModelNotifyPath(proto);
3367
3392
  }
3368
3393
  for (prop in parentProps) {
3369
3394
  var parentProp = this._parentPropPrefix + prop;
@@ -3382,6 +3407,7 @@ Polymer.Bind.prepareInstance(template);
3382
3407
  template._forwardParentProp = this._forwardParentProp.bind(this);
3383
3408
  }
3384
3409
  this._extendTemplate(template, proto);
3410
+ template._pathEffector = this._pathEffectorImpl.bind(this);
3385
3411
  }
3386
3412
  },
3387
3413
  _createForwardPropEffector: function (prop) {
@@ -3392,7 +3418,7 @@ this._forwardParentProp(prop, value);
3392
3418
  _createHostPropEffector: function (prop) {
3393
3419
  var prefix = this._parentPropPrefix;
3394
3420
  return function (source, value) {
3395
- this.dataHost[prefix + prop] = value;
3421
+ this.dataHost._templatized[prefix + prop] = value;
3396
3422
  };
3397
3423
  },
3398
3424
  _createInstancePropEffector: function (prop) {
@@ -3424,16 +3450,17 @@ var dot = path.indexOf('.');
3424
3450
  var root = dot < 0 ? path : path.slice(0, dot);
3425
3451
  dataHost._forwardInstancePath.call(dataHost, this, path, value);
3426
3452
  if (root in dataHost._parentProps) {
3427
- dataHost.notifyPath(dataHost._parentPropPrefix + path, value);
3453
+ dataHost._templatized.notifyPath(dataHost._parentPropPrefix + path, value);
3428
3454
  }
3429
3455
  },
3430
- _pathEffector: function (path, value, fromAbove) {
3456
+ _pathEffectorImpl: function (path, value, fromAbove) {
3431
3457
  if (this._forwardParentPath) {
3432
3458
  if (path.indexOf(this._parentPropPrefix) === 0) {
3433
- this._forwardParentPath(path.substring(8), value);
3459
+ var subPath = path.substring(this._parentPropPrefix.length);
3460
+ this._forwardParentPath(subPath, value);
3434
3461
  }
3435
3462
  }
3436
- Polymer.Base._pathEffector.apply(this, arguments);
3463
+ Polymer.Base._pathEffector.call(this._templatized, path, value, fromAbove);
3437
3464
  },
3438
3465
  _constructorImpl: function (model, host) {
3439
3466
  this._rootDataHost = host._getRootDataHost();
@@ -3476,8 +3503,9 @@ return host._scopeElementClass(node, value);
3476
3503
  stamp: function (model) {
3477
3504
  model = model || {};
3478
3505
  if (this._parentProps) {
3506
+ var templatized = this._templatized;
3479
3507
  for (var prop in this._parentProps) {
3480
- model[prop] = this[this._parentPropPrefix + prop];
3508
+ model[prop] = templatized[this._parentPropPrefix + prop];
3481
3509
  }
3482
3510
  }
3483
3511
  return new this.ctor(model, this);
@@ -4085,7 +4113,7 @@ this.deselect(item);
4085
4113
  }
4086
4114
  } else {
4087
4115
  this.push('selected', item);
4088
- skey = this._selectedColl.getKey(item);
4116
+ var skey = this._selectedColl.getKey(item);
4089
4117
  this.linkPaths('selected.' + skey, 'items.' + key);
4090
4118
  }
4091
4119
  } else {
@@ -7,13 +7,14 @@
7
7
  * Code distributed by Google as part of the polymer project is also
8
8
  * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
9
  */
10
- // @version 0.7.12
11
- window.WebComponents = window.WebComponents || {};
12
-
13
- (function(scope) {
14
- var flags = scope.flags || {};
10
+ // @version 0.7.15
11
+ (function() {
12
+ window.WebComponents = window.WebComponents || {
13
+ flags: {}
14
+ };
15
15
  var file = "webcomponents-lite.js";
16
16
  var script = document.querySelector('script[src*="' + file + '"]');
17
+ var flags = {};
17
18
  if (!flags.noOpts) {
18
19
  location.search.slice(1).split("&").forEach(function(option) {
19
20
  var parts = option.split("=");
@@ -29,7 +30,7 @@ window.WebComponents = window.WebComponents || {};
29
30
  }
30
31
  }
31
32
  }
32
- if (flags.log) {
33
+ if (flags.log && flags.log.split) {
33
34
  var parts = flags.log.split(",");
34
35
  flags.log = {};
35
36
  parts.forEach(function(f) {
@@ -39,20 +40,14 @@ window.WebComponents = window.WebComponents || {};
39
40
  flags.log = {};
40
41
  }
41
42
  }
42
- flags.shadow = flags.shadow || flags.shadowdom || flags.polyfill;
43
- if (flags.shadow === "native") {
44
- flags.shadow = false;
45
- } else {
46
- flags.shadow = flags.shadow || !HTMLElement.prototype.createShadowRoot;
47
- }
48
43
  if (flags.register) {
49
44
  window.CustomElements = window.CustomElements || {
50
45
  flags: {}
51
46
  };
52
47
  window.CustomElements.flags.register = flags.register;
53
48
  }
54
- scope.flags = flags;
55
- })(window.WebComponents);
49
+ WebComponents.flags = flags;
50
+ })();
56
51
 
57
52
  (function(scope) {
58
53
  "use strict";
@@ -574,7 +569,7 @@ window.WebComponents = window.WebComponents || {};
574
569
  };
575
570
  }
576
571
  scope.URL = jURL;
577
- })(this);
572
+ })(self);
578
573
 
579
574
  if (typeof WeakMap === "undefined") {
580
575
  (function() {
@@ -613,6 +608,9 @@ if (typeof WeakMap === "undefined") {
613
608
  }
614
609
 
615
610
  (function(global) {
611
+ if (global.JsMutationObserver) {
612
+ return;
613
+ }
616
614
  var registrationsTable = new WeakMap();
617
615
  var setImmediate;
618
616
  if (/Trident|Edge/.test(navigator.userAgent)) {
@@ -908,8 +906,11 @@ if (typeof WeakMap === "undefined") {
908
906
  }
909
907
  };
910
908
  global.JsMutationObserver = JsMutationObserver;
911
- if (!global.MutationObserver) global.MutationObserver = JsMutationObserver;
912
- })(window);
909
+ if (!global.MutationObserver) {
910
+ global.MutationObserver = JsMutationObserver;
911
+ JsMutationObserver._isPolyfilled = true;
912
+ }
913
+ })(self);
913
914
 
914
915
  window.HTMLImports = window.HTMLImports || {
915
916
  flags: {}
@@ -1629,7 +1630,7 @@ window.HTMLImports.addModule(function(scope) {
1629
1630
  if (scope.useNative) {
1630
1631
  return;
1631
1632
  }
1632
- if (isIE && typeof window.CustomEvent !== "function") {
1633
+ if (!window.CustomEvent || isIE && typeof window.CustomEvent !== "function") {
1633
1634
  window.CustomEvent = function(inType, params) {
1634
1635
  params = params || {};
1635
1636
  var e = document.createEvent("CustomEvent");
@@ -1756,8 +1757,9 @@ window.CustomElements.addModule(function(scope) {
1756
1757
  }
1757
1758
  });
1758
1759
  }
1759
- var hasPolyfillMutations = !window.MutationObserver || window.MutationObserver === window.JsMutationObserver;
1760
- scope.hasPolyfillMutations = hasPolyfillMutations;
1760
+ var hasThrottledAttached = window.MutationObserver._isPolyfilled && flags["throttle-attached"];
1761
+ scope.hasPolyfillMutations = hasThrottledAttached;
1762
+ scope.hasThrottledAttached = hasThrottledAttached;
1761
1763
  var isPendingMutations = false;
1762
1764
  var pendingMutations = [];
1763
1765
  function deferMutation(fn) {
@@ -1776,7 +1778,7 @@ window.CustomElements.addModule(function(scope) {
1776
1778
  pendingMutations = [];
1777
1779
  }
1778
1780
  function attached(element) {
1779
- if (hasPolyfillMutations) {
1781
+ if (hasThrottledAttached) {
1780
1782
  deferMutation(function() {
1781
1783
  _attached(element);
1782
1784
  });
@@ -1799,7 +1801,7 @@ window.CustomElements.addModule(function(scope) {
1799
1801
  });
1800
1802
  }
1801
1803
  function detached(element) {
1802
- if (hasPolyfillMutations) {
1804
+ if (hasThrottledAttached) {
1803
1805
  deferMutation(function() {
1804
1806
  _detached(element);
1805
1807
  });
@@ -2260,7 +2262,7 @@ window.CustomElements.addModule(function(scope) {
2260
2262
  });
2261
2263
  });
2262
2264
  }
2263
- if (isIE && typeof window.CustomEvent !== "function") {
2265
+ if (!window.CustomEvent || isIE && typeof window.CustomEvent !== "function") {
2264
2266
  window.CustomEvent = function(inType, params) {
2265
2267
  params = params || {};
2266
2268
  var e = document.createEvent("CustomEvent");
@@ -2368,6 +2370,37 @@ if (typeof HTMLTemplateElement === "undefined") {
2368
2370
  })();
2369
2371
  }
2370
2372
 
2373
+ (function(scope) {
2374
+ "use strict";
2375
+ if (!window.performance) {
2376
+ var start = Date.now();
2377
+ window.performance = {
2378
+ now: function() {
2379
+ return Date.now() - start;
2380
+ }
2381
+ };
2382
+ }
2383
+ if (!window.requestAnimationFrame) {
2384
+ window.requestAnimationFrame = function() {
2385
+ var nativeRaf = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;
2386
+ return nativeRaf ? function(callback) {
2387
+ return nativeRaf(function() {
2388
+ callback(performance.now());
2389
+ });
2390
+ } : function(callback) {
2391
+ return window.setTimeout(callback, 1e3 / 60);
2392
+ };
2393
+ }();
2394
+ }
2395
+ if (!window.cancelAnimationFrame) {
2396
+ window.cancelAnimationFrame = function() {
2397
+ return window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || function(id) {
2398
+ clearTimeout(id);
2399
+ };
2400
+ }();
2401
+ }
2402
+ })(window.WebComponents);
2403
+
2371
2404
  (function(scope) {
2372
2405
  var style = document.createElement("style");
2373
2406
  style.textContent = "" + "body {" + "transition: opacity ease-in 0.2s;" + " } \n" + "body[unresolved] {" + "opacity: 0; display: block; overflow: hidden; position: relative;" + " } \n";
@@ -7,13 +7,14 @@
7
7
  * Code distributed by Google as part of the polymer project is also
8
8
  * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9
9
  */
10
- // @version 0.7.12
11
- window.WebComponents = window.WebComponents || {};
12
-
13
- (function(scope) {
14
- var flags = scope.flags || {};
10
+ // @version 0.7.15
11
+ (function() {
12
+ window.WebComponents = window.WebComponents || {
13
+ flags: {}
14
+ };
15
15
  var file = "webcomponents.js";
16
16
  var script = document.querySelector('script[src*="' + file + '"]');
17
+ var flags = {};
17
18
  if (!flags.noOpts) {
18
19
  location.search.slice(1).split("&").forEach(function(option) {
19
20
  var parts = option.split("=");
@@ -51,8 +52,8 @@ window.WebComponents = window.WebComponents || {};
51
52
  };
52
53
  window.CustomElements.flags.register = flags.register;
53
54
  }
54
- scope.flags = flags;
55
- })(WebComponents);
55
+ WebComponents.flags = flags;
56
+ })();
56
57
 
57
58
  if (WebComponents.flags.shadow) {
58
59
  if (typeof WeakMap === "undefined") {
@@ -3159,18 +3160,29 @@ if (WebComponents.flags.shadow) {
3159
3160
  "use strict";
3160
3161
  var Element = scope.wrappers.Element;
3161
3162
  var HTMLElement = scope.wrappers.HTMLElement;
3162
- var registerObject = scope.registerObject;
3163
+ var registerWrapper = scope.registerWrapper;
3163
3164
  var defineWrapGetter = scope.defineWrapGetter;
3165
+ var unsafeUnwrap = scope.unsafeUnwrap;
3166
+ var wrap = scope.wrap;
3167
+ var mixin = scope.mixin;
3164
3168
  var SVG_NS = "http://www.w3.org/2000/svg";
3169
+ var OriginalSVGElement = window.SVGElement;
3165
3170
  var svgTitleElement = document.createElementNS(SVG_NS, "title");
3166
- var SVGTitleElement = registerObject(svgTitleElement);
3167
- var SVGElement = Object.getPrototypeOf(SVGTitleElement.prototype).constructor;
3168
3171
  if (!("classList" in svgTitleElement)) {
3169
3172
  var descr = Object.getOwnPropertyDescriptor(Element.prototype, "classList");
3170
3173
  Object.defineProperty(HTMLElement.prototype, "classList", descr);
3171
3174
  delete Element.prototype.classList;
3172
3175
  }
3173
- defineWrapGetter(SVGElement, "ownerSVGElement");
3176
+ function SVGElement(node) {
3177
+ Element.call(this, node);
3178
+ }
3179
+ SVGElement.prototype = Object.create(Element.prototype);
3180
+ mixin(SVGElement.prototype, {
3181
+ get ownerSVGElement() {
3182
+ return wrap(unsafeUnwrap(this).ownerSVGElement);
3183
+ }
3184
+ });
3185
+ registerWrapper(OriginalSVGElement, SVGElement, document.createElementNS(SVG_NS, "title"));
3174
3186
  scope.wrappers.SVGElement = SVGElement;
3175
3187
  })(window.ShadowDOMPolyfill);
3176
3188
  (function(scope) {
@@ -3309,20 +3321,27 @@ if (WebComponents.flags.shadow) {
3309
3321
  })(window.ShadowDOMPolyfill);
3310
3322
  (function(scope) {
3311
3323
  "use strict";
3324
+ var Node = scope.wrappers.Node;
3312
3325
  var GetElementsByInterface = scope.GetElementsByInterface;
3313
3326
  var NonElementParentNodeInterface = scope.NonElementParentNodeInterface;
3314
3327
  var ParentNodeInterface = scope.ParentNodeInterface;
3315
3328
  var SelectorsInterface = scope.SelectorsInterface;
3316
3329
  var mixin = scope.mixin;
3317
3330
  var registerObject = scope.registerObject;
3318
- var DocumentFragment = registerObject(document.createDocumentFragment());
3331
+ var registerWrapper = scope.registerWrapper;
3332
+ var OriginalDocumentFragment = window.DocumentFragment;
3333
+ function DocumentFragment(node) {
3334
+ Node.call(this, node);
3335
+ }
3336
+ DocumentFragment.prototype = Object.create(Node.prototype);
3319
3337
  mixin(DocumentFragment.prototype, ParentNodeInterface);
3320
3338
  mixin(DocumentFragment.prototype, SelectorsInterface);
3321
3339
  mixin(DocumentFragment.prototype, GetElementsByInterface);
3322
3340
  mixin(DocumentFragment.prototype, NonElementParentNodeInterface);
3341
+ registerWrapper(OriginalDocumentFragment, DocumentFragment, document.createDocumentFragment());
3342
+ scope.wrappers.DocumentFragment = DocumentFragment;
3323
3343
  var Comment = registerObject(document.createComment(""));
3324
3344
  scope.wrappers.Comment = Comment;
3325
- scope.wrappers.DocumentFragment = DocumentFragment;
3326
3345
  })(window.ShadowDOMPolyfill);
3327
3346
  (function(scope) {
3328
3347
  "use strict";
@@ -4694,7 +4713,7 @@ if (WebComponents.flags.shadow) {
4694
4713
  }
4695
4714
  }
4696
4715
  };
4697
- var selectorRe = /([^{]*)({[\s\S]*?})/gim, cssCommentRe = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim, cssCommentNextSelectorRe = /\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim, cssContentNextSelectorRe = /polyfill-next-selector[^}]*content\:[\s]*?['"](.*?)['"][;\s]*}([^{]*?){/gim, cssCommentRuleRe = /\/\*\s@polyfill-rule([^*]*\*+([^/*][^*]*\*+)*)\//gim, cssContentRuleRe = /(polyfill-rule)[^}]*(content\:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim, cssCommentUnscopedRuleRe = /\/\*\s@polyfill-unscoped-rule([^*]*\*+([^/*][^*]*\*+)*)\//gim, cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content\:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim, cssPseudoRe = /::(x-[^\s{,(]*)/gim, cssPartRe = /::part\(([^)]*)\)/gim, polyfillHost = "-shadowcsshost", polyfillHostContext = "-shadowcsscontext", parenSuffix = ")(?:\\((" + "(?:\\([^)(]*\\)|[^)(]*)+?" + ")\\))?([^,{]*)";
4716
+ var selectorRe = /([^{]*)({[\s\S]*?})/gim, cssCommentRe = /\/\*[^*]*\*+([^\/*][^*]*\*+)*\//gim, cssCommentNextSelectorRe = /\/\*\s*@polyfill ([^*]*\*+([^\/*][^*]*\*+)*\/)([^{]*?){/gim, cssContentNextSelectorRe = /polyfill-next-selector[^}]*content\:[\s]*?['"](.*?)['"][;\s]*}([^{]*?){/gim, cssCommentRuleRe = /\/\*\s@polyfill-rule([^*]*\*+([^\/*][^*]*\*+)*)\//gim, cssContentRuleRe = /(polyfill-rule)[^}]*(content\:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim, cssCommentUnscopedRuleRe = /\/\*\s@polyfill-unscoped-rule([^*]*\*+([^\/*][^*]*\*+)*)\//gim, cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content\:[\s]*['"](.*?)['"])[;\s]*[^}]*}/gim, cssPseudoRe = /::(x-[^\s{,(]*)/gim, cssPartRe = /::part\(([^)]*)\)/gim, polyfillHost = "-shadowcsshost", polyfillHostContext = "-shadowcsscontext", parenSuffix = ")(?:\\((" + "(?:\\([^)(]*\\)|[^)(]*)+?" + ")\\))?([^,{]*)";
4698
4717
  var cssColonHostRe = new RegExp("(" + polyfillHost + parenSuffix, "gim"), cssColonHostContextRe = new RegExp("(" + polyfillHostContext + parenSuffix, "gim"), selectorReSuffix = "([>\\s~+[.,{:][\\s\\S]*)?$", colonHostRe = /\:host/gim, colonHostContextRe = /\:host-context/gim, polyfillHostNoCombinator = polyfillHost + "-no-combinator", polyfillHostRe = new RegExp(polyfillHost, "gim"), polyfillHostContextRe = new RegExp(polyfillHostContext, "gim"), shadowDOMSelectorsRe = [ />>>/g, /::shadow/g, /::content/g, /\/deep\//g, /\/shadow\//g, /\/shadow-deep\//g, /\^\^/g, /\^/g ];
4699
4718
  function stylesToCssText(styles, preserveComments) {
4700
4719
  var cssText = "";
@@ -5379,9 +5398,12 @@ if (WebComponents.flags.shadow) {
5379
5398
  };
5380
5399
  }
5381
5400
  scope.URL = jURL;
5382
- })(this);
5401
+ })(self);
5383
5402
 
5384
5403
  (function(global) {
5404
+ if (global.JsMutationObserver) {
5405
+ return;
5406
+ }
5385
5407
  var registrationsTable = new WeakMap();
5386
5408
  var setImmediate;
5387
5409
  if (/Trident|Edge/.test(navigator.userAgent)) {
@@ -5677,8 +5699,11 @@ if (WebComponents.flags.shadow) {
5677
5699
  }
5678
5700
  };
5679
5701
  global.JsMutationObserver = JsMutationObserver;
5680
- if (!global.MutationObserver) global.MutationObserver = JsMutationObserver;
5681
- })(window);
5702
+ if (!global.MutationObserver) {
5703
+ global.MutationObserver = JsMutationObserver;
5704
+ JsMutationObserver._isPolyfilled = true;
5705
+ }
5706
+ })(self);
5682
5707
 
5683
5708
  window.HTMLImports = window.HTMLImports || {
5684
5709
  flags: {}
@@ -6398,7 +6423,7 @@ window.HTMLImports.addModule(function(scope) {
6398
6423
  if (scope.useNative) {
6399
6424
  return;
6400
6425
  }
6401
- if (isIE && typeof window.CustomEvent !== "function") {
6426
+ if (!window.CustomEvent || isIE && typeof window.CustomEvent !== "function") {
6402
6427
  window.CustomEvent = function(inType, params) {
6403
6428
  params = params || {};
6404
6429
  var e = document.createEvent("CustomEvent");
@@ -6525,8 +6550,9 @@ window.CustomElements.addModule(function(scope) {
6525
6550
  }
6526
6551
  });
6527
6552
  }
6528
- var hasPolyfillMutations = !window.MutationObserver || window.MutationObserver === window.JsMutationObserver;
6529
- scope.hasPolyfillMutations = hasPolyfillMutations;
6553
+ var hasThrottledAttached = window.MutationObserver._isPolyfilled && flags["throttle-attached"];
6554
+ scope.hasPolyfillMutations = hasThrottledAttached;
6555
+ scope.hasThrottledAttached = hasThrottledAttached;
6530
6556
  var isPendingMutations = false;
6531
6557
  var pendingMutations = [];
6532
6558
  function deferMutation(fn) {
@@ -6545,7 +6571,7 @@ window.CustomElements.addModule(function(scope) {
6545
6571
  pendingMutations = [];
6546
6572
  }
6547
6573
  function attached(element) {
6548
- if (hasPolyfillMutations) {
6574
+ if (hasThrottledAttached) {
6549
6575
  deferMutation(function() {
6550
6576
  _attached(element);
6551
6577
  });
@@ -6568,7 +6594,7 @@ window.CustomElements.addModule(function(scope) {
6568
6594
  });
6569
6595
  }
6570
6596
  function detached(element) {
6571
- if (hasPolyfillMutations) {
6597
+ if (hasThrottledAttached) {
6572
6598
  deferMutation(function() {
6573
6599
  _detached(element);
6574
6600
  });
@@ -7029,7 +7055,7 @@ window.CustomElements.addModule(function(scope) {
7029
7055
  });
7030
7056
  });
7031
7057
  }
7032
- if (isIE && typeof window.CustomEvent !== "function") {
7058
+ if (!window.CustomEvent || isIE && typeof window.CustomEvent !== "function") {
7033
7059
  window.CustomEvent = function(inType, params) {
7034
7060
  params = params || {};
7035
7061
  var e = document.createEvent("CustomEvent");
@@ -1,5 +1,5 @@
1
1
  module Polymer
2
2
  module Rails
3
- VERSION = "1.1.2"
3
+ VERSION = "1.1.5"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polymer-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Chaplinsky
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-25 00:00:00.000000000 Z
11
+ date: 2015-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.1'
33
+ version: 1.4.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.1'
40
+ version: 1.4.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rails
43
43
  requirement: !ruby/object:Gem::Requirement