Add an exponential backoff to rechecking the app list doodle.
[chromium-blink-merge.git] / third_party / polymer / components-chromium / core-focusable / polymer-mixin.js
blob2ee1d668bed5bfe2288c1463099b4e3dfbd1d7ab
1 Polymer.mixin2 = function(prototype, mixin) {
3   // adds a single mixin to prototype
5   if (mixin.mixinPublish) {
6     prototype.publish = prototype.publish || {};
7     Polymer.mixin(prototype.publish, mixin.mixinPublish);
8   }
10   if (mixin.mixinDelegates) {
11     prototype.eventDelegates = prototype.eventDelegates || {};
12     for (var e in mixin.mixinDelegates) {
13       if (!prototype.eventDelegates[e]) {
14         prototype.eventDelegates[e] = mixin.mixinDelegates[e];
15       }
16     }
17   }
19   if (mixin.mixinObserve) {
20     prototype.observe = prototype.observe || {};
21     for (var o in mixin.mixinObserve) {
22       if (!prototype.observe[o] && !prototype[o + 'Changed']) {
23         prototype.observe[o] = mixin.mixinObserve[o];
24       }
25     }
26   }
28   Polymer.mixin(prototype, mixin);
30   delete prototype.mixinPublish;
31   delete prototype.mixinDelegates;
32   delete prototype.mixinObserve;
34   return prototype;