From b2b11b9b9c1a0f117e54d165d5c8d8551a778e6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Ku=C4=87?= Date: Mon, 27 Nov 2017 17:23:18 +0100 Subject: [PATCH 1/5] Resolve problem with webcomponentsjs-1.0.19 in firefox --- lib/com/vaadin/polymer/Polymer.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/com/vaadin/polymer/Polymer.java b/lib/com/vaadin/polymer/Polymer.java index a671379..56500a4 100644 --- a/lib/com/vaadin/polymer/Polymer.java +++ b/lib/com/vaadin/polymer/Polymer.java @@ -269,6 +269,8 @@ public static void importHref(String hrefOrTag, final PolymerFunction ok, final pending.add(ok); } return; + } else { + Base.importHref(href, done, err); } urlImported.add(href); } From 4432d43772927b9867eac73577dc15facd2bc1c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Ku=C4=87?= Date: Mon, 27 Nov 2017 17:38:41 +0100 Subject: [PATCH 2/5] Allow set path to webcomponents.js - fix for webcomponents.js version >= 1.0 --- lib/com/vaadin/polymer/Polymer.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/com/vaadin/polymer/Polymer.java b/lib/com/vaadin/polymer/Polymer.java index 56500a4..510bb18 100644 --- a/lib/com/vaadin/polymer/Polymer.java +++ b/lib/com/vaadin/polymer/Polymer.java @@ -43,6 +43,14 @@ public abstract class Polymer { @JsProperty(namespace = JsPackage.GLOBAL) public static native String getGwtBowerLocation(); + /** + * Set path to webcomponents.js - default webcomponentsjs/webcomponents-lite.min.js + */ + @JsProperty(namespace = JsPackage.GLOBAL) + public static native void setWebcomponentsJsLocation(String s); + + @JsProperty(namespace = JsPackage.GLOBAL) + public static native String getWebcomponentsJsLocation(); static { if (getGwtBowerLocation() == null) { @@ -54,6 +62,9 @@ public abstract class Polymer { } setGwtBowerLocation(moduleBase + "bower_components/"); } + if(getWebcomponentsJsLocation() == null) { + setWebcomponentsJsLocation("webcomponentsjs/webcomponents-lite.min.js"); + } } @JsType(isNative=true, namespace="Polymer") @@ -429,7 +440,7 @@ function done() { function loadPolyfill() { var s = $doc.createElement('script'); s.src = @com.vaadin.polymer.Polymer::absoluteHref(*) - ('webcomponentsjs/webcomponents-lite.min.js'); + (@com.vaadin.polymer.Polymer::getWebcomponentsJsLocation()()); s.onreadystatechange = s.onload = done; $doc.head.appendChild(s); } From f4f8a1841dc58fa30e181f6e5a90c67f4fc448cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Ku=C4=87?= Date: Mon, 27 Nov 2017 18:00:45 +0100 Subject: [PATCH 3/5] Fix for using polymer api generator with new webcomponents.js (version >=1.0) --- lib/com/vaadin/polymer/Polymer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/com/vaadin/polymer/Polymer.java b/lib/com/vaadin/polymer/Polymer.java index 510bb18..4984a9b 100644 --- a/lib/com/vaadin/polymer/Polymer.java +++ b/lib/com/vaadin/polymer/Polymer.java @@ -346,7 +346,7 @@ public static T createElement(final String tagName, final String... imports) } public static void ensureCustomElement(final T elem, String... imports) { - if (isRegisteredElement(elem)) { + if (isRegisteredElement(elem) && urlImported.containsAll(Arrays.asList(imports))) { return; } From 116e0e3544148f9c9ab828b24280b935b637b107 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Ku=C4=87?= Date: Mon, 27 Nov 2017 18:03:01 +0100 Subject: [PATCH 4/5] Read path to webcomponents.js --- lib/com/vaadin/polymer/Polymer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/com/vaadin/polymer/Polymer.java b/lib/com/vaadin/polymer/Polymer.java index 4984a9b..1cfeb40 100644 --- a/lib/com/vaadin/polymer/Polymer.java +++ b/lib/com/vaadin/polymer/Polymer.java @@ -440,7 +440,7 @@ function done() { function loadPolyfill() { var s = $doc.createElement('script'); s.src = @com.vaadin.polymer.Polymer::absoluteHref(*) - (@com.vaadin.polymer.Polymer::getWebcomponentsJsLocation()()); + ($wnd.webcomponentsJsLocation); s.onreadystatechange = s.onload = done; $doc.head.appendChild(s); } From 7cf80ed8f5d75cd9cc9ad5d4f44592b18409c0ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20Ku=C4=87?= Date: Mon, 27 Nov 2017 18:05:15 +0100 Subject: [PATCH 5/5] Missing import java.util.Arrays --- lib/com/vaadin/polymer/Polymer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/com/vaadin/polymer/Polymer.java b/lib/com/vaadin/polymer/Polymer.java index 1cfeb40..c957a3e 100644 --- a/lib/com/vaadin/polymer/Polymer.java +++ b/lib/com/vaadin/polymer/Polymer.java @@ -11,6 +11,7 @@ import elemental2.dom.HTMLElement; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List;