Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(77)

Unified Diff: third_party/polymer/v0_8/components/polymer/src/standard/utils.html

Issue 1082403004: Import Polymer 0.8 and several key elements. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Also remove polymer/explainer Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/polymer/v0_8/components/polymer/src/standard/utils.html
diff --git a/third_party/polymer/v0_8/components/polymer/src/standard/utils.html b/third_party/polymer/v0_8/components/polymer/src/standard/utils.html
new file mode 100644
index 0000000000000000000000000000000000000000..0374fc0b42ee30df7f8509898cd32b5d102dcb80
--- /dev/null
+++ b/third_party/polymer/v0_8/components/polymer/src/standard/utils.html
@@ -0,0 +1,137 @@
+<!--
+@license
+Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
+This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+Code distributed by Google as part of the polymer project is also
+subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+-->
+
+<link rel="import" href="../lib/async.html">
+<link rel="import" href="../lib/debounce.html">
+
+<script>
+
+ Polymer.Base._addFeature({
+
+ $$: function(slctr) {
+ return Polymer.dom(this.root).querySelector(slctr);
+ },
+
+ toggleClass: function(name, bool, node) {
+ node = node || this;
+ if (arguments.length == 1) {
+ bool = !node.classList.contains(name);
+ }
+ if (bool) {
+ node.classList.add(name);
+ } else {
+ node.classList.remove(name);
+ }
+ },
+
+ toggleAttribute: function(name, bool, node) {
+ (node || this)[bool ? 'setAttribute' : 'removeAttribute'](name, '');
+ },
+
+ classFollows: function(className, neo, old) {
+ if (old) {
+ old.classList.remove(className);
+ }
+ if (neo) {
+ neo.classList.add(className);
+ }
+ },
+
+ attributeFollows: function(name, neo, old) {
+ if (old) {
+ old.removeAttribute(name);
+ }
+ if (neo) {
+ neo.setAttribute(name, '');
+ }
+ },
+
+ getContentChildNodes: function(slctr) {
+ return Polymer.dom(Polymer.dom(this.root).querySelector(
+ slctr || 'content')).getDistributedNodes();
+ },
+
+ getContentChildren: function(slctr) {
+ return this.getContentChildNodes(slctr).filter(function(n) {
+ return (n.nodeType === Node.ELEMENT_NODE);
+ });
+ },
+
+ fire: function(type, detail, options) {
+ options = options || Polymer.nob;
+ var node = options.node || this;
+ var detail = (detail === null || detail === undefined) ? Polymer.nob : detail;
+ var bubbles = options.bubbles === undefined ? true : options.bubbles;
+ var event = new CustomEvent(type, {
+ bubbles: Boolean(bubbles),
+ cancelable: Boolean(options.cancelable),
+ detail: detail
+ });
+ node.dispatchEvent(event);
+ return event;
+ },
+
+ async: function(method, waitTime) {
+ return Polymer.Async.run(method.bind(this), waitTime);
+ },
+
+ cancelAsync: function(handle) {
+ Polymer.Async.cancel(handle);
+ },
+
+ arrayDelete: function(array, item) {
+ var index = array.indexOf(item);
+ if (index >= 0) {
+ return array.splice(index, 1);
+ }
+ },
+
+ transform: function(node, transform) {
+ node.style.webkitTransform = transform;
+ node.style.transform = transform;
+ },
+
+ translate3d: function(node, x, y, z) {
+ this.transform(node, 'translate3d(' + x + ',' + y + ',' + z + ')');
+ },
+
+ importHref: function(href, onload, onerror) {
+ var l = document.createElement('link');
+ l.rel = 'import';
+ l.href = href;
+ if (onload) {
+ l.onload = onload.bind(this);
+ }
+ if (onerror) {
+ l.onerror = onerror.bind(this);
+ }
+ document.head.appendChild(l);
+ return l;
+ },
+
+ create: function(tag, props) {
+ var elt = document.createElement(tag);
+ if (props) {
+ for (var n in props) {
+ elt[n] = props[n];
+ }
+ }
+ return elt;
+ },
+
+ simpleMixin: function(a, b) {
+ for (var i in b) {
+ a[i] = b[i];
+ }
+ }
+
+ });
+
+</script>

Powered by Google App Engine
This is Rietveld 408576698