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

Unified Diff: pkg/web_components/lib/platform.concat.js

Issue 420673002: Roll polymer packages to version 0.3.4 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 5 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
« no previous file with comments | « pkg/web_components/lib/platform.js ('k') | pkg/web_components/lib/platform.concat.js.map » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/web_components/lib/platform.concat.js
diff --git a/pkg/web_components/lib/platform.concat.js b/pkg/web_components/lib/platform.concat.js
index 9481eee0be7c3190376eb21a565fd7d11cdd3646..68b593d8b5c85d4d4a269cfe1ef246007fbe0745 100644
--- a/pkg/web_components/lib/platform.concat.js
+++ b/pkg/web_components/lib/platform.concat.js
@@ -407,8 +407,9 @@ if (typeof WeakMap === 'undefined') {
if (privateToken !== constructorIsPrivate)
throw Error('Use Path.get to retrieve path objects');
- if (parts.length)
- Array.prototype.push.apply(this, parts.slice());
+ for (var i = 0; i < parts.length; i++) {
+ this.push(String(parts[i]));
+ }
if (hasEval && this.length) {
this.getValueFrom = this.compiledGetValueFromFn();
@@ -894,7 +895,7 @@ if (typeof WeakMap === 'undefined') {
var runningMicrotaskCheckpoint = false;
- var hasDebugForceFullDelivery = hasObserve && (function() {
+ var hasDebugForceFullDelivery = hasObserve && hasEval && (function() {
try {
eval('%RunMicrotasks()');
return true;
@@ -5454,7 +5455,6 @@ window.ShadowDOMPolyfill = {};
var registerWrapper = scope.registerWrapper;
var wrapHTMLCollection = scope.wrapHTMLCollection;
var unwrap = scope.unwrap;
- var wrap = scope.wrap;
var OriginalHTMLFormElement = window.HTMLFormElement;
@@ -6692,6 +6692,9 @@ window.ShadowDOMPolyfill = {};
invalidate: function() {
if (!this.dirty) {
this.dirty = true;
+ var parentRenderer = this.parentRenderer;
+ if (parentRenderer)
+ parentRenderer.invalidate();
pendingDirtyRenderers.push(this);
if (renderTimer)
return;
@@ -7605,9 +7608,35 @@ window.ShadowDOMPolyfill = {};
var OriginalDataTransferSetDragImage =
OriginalDataTransfer.prototype.setDragImage;
- OriginalDataTransfer.prototype.setDragImage = function(image, x, y) {
- OriginalDataTransferSetDragImage.call(this, unwrap(image), x, y);
- };
+ if (OriginalDataTransferSetDragImage) {
+ OriginalDataTransfer.prototype.setDragImage = function(image, x, y) {
+ OriginalDataTransferSetDragImage.call(this, unwrap(image), x, y);
+ };
+ }
+
+})(window.ShadowDOMPolyfill);
+
+/**
+ * Copyright 2014 The Polymer Authors. All rights reserved.
+ * Use of this source code is goverened by a BSD-style
+ * license that can be found in the LICENSE file.
+ */
+
+(function(scope) {
+ 'use strict';
+
+ var registerWrapper = scope.registerWrapper;
+ var unwrap = scope.unwrap;
+
+ var OriginalFormData = window.FormData;
+
+ function FormData(formElement) {
+ this.impl = new OriginalFormData(formElement && unwrap(formElement));
+ }
+
+ registerWrapper(OriginalFormData, FormData, new OriginalFormData());
+
+ scope.wrappers.FormData = FormData;
})(window.ShadowDOMPolyfill);
@@ -8113,7 +8142,7 @@ var ShadowCSS = {
cssText = this.insertPolyfillHostInCssText(cssText);
cssText = this.convertColonHost(cssText);
cssText = this.convertColonHostContext(cssText);
- cssText = this.convertCombinators(cssText);
+ cssText = this.convertShadowDOMSelectors(cssText);
if (scopeSelector) {
var self = this, cssText;
withCssRules(cssText, function(rules) {
@@ -8206,11 +8235,12 @@ var ShadowCSS = {
return host + part.replace(polyfillHost, '') + suffix;
},
/*
- * Convert ^ and ^^ combinators by replacing with space.
+ * Convert combinators like ::shadow and pseudo-elements like ::content
+ * by replacing with space.
*/
- convertCombinators: function(cssText) {
- for (var i=0; i < combinatorsRe.length; i++) {
- cssText = cssText.replace(combinatorsRe[i], ' ');
+ convertShadowDOMSelectors: function(cssText) {
+ for (var i=0; i < shadowDOMSelectorsRe.length; i++) {
+ cssText = cssText.replace(shadowDOMSelectorsRe[i], ' ');
}
return cssText;
},
@@ -8365,13 +8395,13 @@ var selectorRe = /([^{]*)({[\s\S]*?})/gim,
cssCommentRe = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,
// TODO(sorvell): remove either content or comment
cssCommentNextSelectorRe = /\/\*\s*@polyfill ([^*]*\*+([^/*][^*]*\*+)*\/)([^{]*?){/gim,
- cssContentNextSelectorRe = /polyfill-next-selector[^}]*content\:[\s]*'([^']*)'[^}]*}([^{]*?){/gim,
+ cssContentNextSelectorRe = /polyfill-next-selector[^}]*content\:[\s]*['|"]([^'"]*)['|"][^}]*}([^{]*?){/gim,
// TODO(sorvell): remove either content or comment
cssCommentRuleRe = /\/\*\s@polyfill-rule([^*]*\*+([^/*][^*]*\*+)*)\//gim,
- cssContentRuleRe = /(polyfill-rule)[^}]*(content\:[\s]*'([^']*)'[^;]*;)[^}]*}/gim,
+ cssContentRuleRe = /(polyfill-rule)[^}]*(content\:[\s]*['|"]([^'"]*)['|"][^;]*;)[^}]*}/gim,
// TODO(sorvell): remove either content or comment
cssCommentUnscopedRuleRe = /\/\*\s@polyfill-unscoped-rule([^*]*\*+([^/*][^*]*\*+)*)\//gim,
- cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content\:[\s]*'([^']*)'[^;]*;)[^}]*}/gim,
+ cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content\:[\s]*['|"]([^'"]*)['|"][^;]*;)[^}]*}/gim,
cssPseudoRe = /::(x-[^\s{,(]*)/gim,
cssPartRe = /::part\(([^)]*)\)/gim,
// note: :host pre-processed to -shadowcsshost.
@@ -8390,13 +8420,14 @@ var selectorRe = /([^{]*)({[\s\S]*?})/gim,
polyfillHostNoCombinator = polyfillHost + '-no-combinator',
polyfillHostRe = new RegExp(polyfillHost, 'gim'),
polyfillHostContextRe = new RegExp(polyfillHostContext, 'gim'),
- combinatorsRe = [
+ shadowDOMSelectorsRe = [
/\^\^/g,
/\^/g,
/\/shadow\//g,
/\/shadow-deep\//g,
/::shadow/g,
- /\/deep\//g
+ /\/deep\//g,
+ /::content/g
];
function stylesToCssText(styles, preserveComments) {
@@ -10858,15 +10889,16 @@ function nodeIsImport(elt) {
}
function generateScriptDataUrl(script) {
- var scriptContent = generateScriptContent(script), b64;
+ var scriptContent = generateScriptContent(script);
+ var b64 = 'data:text/javascript';
+ // base64 may be smaller, but does not handle unicode characters
+ // attempt base64 first, fall back to escaped text
try {
- b64 = btoa(scriptContent);
+ b64 += (';base64,' + btoa(scriptContent));
} catch(e) {
- b64 = btoa(unescape(encodeURIComponent(scriptContent)));
- console.warn('Script contained non-latin characters that were forced ' +
- 'to latin. Some characters may be wrong.', script);
+ b64 += (';charset=utf-8,' + encodeURIComponent(scriptContent));
}
- return 'data:text/javascript;base64,' + b64;
+ return b64;
}
function generateScriptContent(script) {
@@ -11224,10 +11256,13 @@ if (useNative) {
scope.hasNative = hasNative;
scope.useNative = useNative;
scope.importer = importer;
-scope.whenImportsReady = whenImportsReady;
scope.IMPORT_LINK_TYPE = IMPORT_LINK_TYPE;
scope.isImportLoaded = isImportLoaded;
scope.importLoader = importLoader;
+scope.whenReady = whenImportsReady;
+
+// deprecated
+scope.whenImportsReady = whenImportsReady;
})(window.HTMLImports);
« no previous file with comments | « pkg/web_components/lib/platform.js ('k') | pkg/web_components/lib/platform.concat.js.map » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698