From d2c12c2e5ffb9ce8336eac53ef14faaf3499ae82 Mon Sep 17 00:00:00 2001
From: Automerge
Date: Thu, 7 Jun 2012 11:42:29 +0000
Subject: [merge from 6.7] #7067 Update a comment, fix typoed ticket reference
svn changeset:23903/svn branch:6.8
---
src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
index 8d0414a235..d88d0d31e5 100644
--- a/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
+++ b/src/com/vaadin/terminal/gwt/client/ui/VScrollTable.java
@@ -2060,11 +2060,7 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
isNewBody = false;
if (firstvisible > 0) {
- // FIXME #7607
- // Originally deferred due to Firefox oddities which should not
- // occur any more. Currently deferring breaks Webkit scrolling with
- // relative-height tables, but not deferring instead breaks tables
- // with explicit page length.
+ // Deferred due to some Firefox oddities
Scheduler.get().scheduleDeferred(new Command() {
public void execute() {
scrollBodyPanel
@@ -6249,7 +6245,7 @@ public class VScrollTable extends FlowPanel implements Table, ScrollHandler,
// overflow hack here to shake body element a bit.
// We must run the fix as a deferred command to prevent it from
// overwriting the scroll position with an outdated value, see
- // #7606.
+ // #7607.
Scheduler.get().scheduleDeferred(new Command() {
public void execute() {
Util.runWebkitOverflowAutoFix(scrollBodyPanel.getElement());
--
cgit v1.2.3
From cece22a1d1919d8da459b6dab18c19e53c6e7f04 Mon Sep 17 00:00:00 2001
From: Leif Åstrand
Date: Thu, 7 Jun 2012 12:07:16 +0000
Subject: Remove document.write from bootstrap (#8924)
svn changeset:23905/svn branch:6.8
---
.../gwt/server/AbstractApplicationPortlet.java | 70 ++++++++++++++++------
.../gwt/server/AbstractApplicationServlet.java | 12 ++--
2 files changed, 59 insertions(+), 23 deletions(-)
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
index 9f1bd4e9ee..26b0d3df1d 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
@@ -879,6 +879,30 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
return null;
}
+ /**
+ * Returns the URL from which the widgetset is served on the portal.
+ *
+ * @param request
+ * @return
+ */
+ protected String getWidgetsetURL(RenderRequest request) {
+ String requestWidgetset = getApplicationOrSystemProperty(
+ PARAMETER_WIDGETSET, null);
+ String sharedWidgetset = getPortalProperty(
+ PORTAL_PARAMETER_VAADIN_WIDGETSET, request.getPortalContext());
+
+ String widgetset;
+ if (requestWidgetset != null) {
+ widgetset = requestWidgetset;
+ } else if (sharedWidgetset != null) {
+ widgetset = sharedWidgetset;
+ } else {
+ widgetset = DEFAULT_WIDGETSET;
+ }
+ String widgetsetURL = getWidgetsetURL(widgetset, request);
+ return widgetsetURL;
+ }
+
/**
* Returns the URL from which the widgetset is served on the portal.
*
@@ -1037,12 +1061,32 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
writer.write("\n");
+ writeAjaxPageWidgetset(request, writer);
+
writeAjaxPageHtmlTheme(request, writer, themeName, themeURI,
portalTheme);
// TODO Warn if widgetset has not been loaded after 15 seconds
}
+ /**
+ * Writes the script to load the widgetset on the HTML fragment created by
+ * the portlet.
+ *
+ * @param request
+ * @param writer
+ * @throws IOException
+ */
+ protected void writeAjaxPageWidgetset(RenderRequest request,
+ BufferedWriter writer) throws IOException {
+ String widgetsetURL = getWidgetsetURL(request);
+ writer.write("'\n");
+ writer.write("\n");
+ }
+
/**
* Writes the script to load the widgetset on the HTML fragment created by
* the portlet.
@@ -1051,29 +1095,19 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
* @param response
* @param writer
* @throws IOException
+ *
+ * @Deprecated As of 6.8, use
+ * {@link #writeAjaxPageWidgetset(RenderRequest, BufferedWriter)}
+ * instead to avoid using document.write
*/
+ @Deprecated
protected void writeAjaxPageScriptWidgetset(RenderRequest request,
RenderResponse response, final BufferedWriter writer)
throws IOException {
- String requestWidgetset = getApplicationOrSystemProperty(
- PARAMETER_WIDGETSET, null);
- String sharedWidgetset = getPortalProperty(
- PORTAL_PARAMETER_VAADIN_WIDGETSET, request.getPortalContext());
+ // No longer used as of #8924, but retained to maintain compatibility
- String widgetset;
- if (requestWidgetset != null) {
- widgetset = requestWidgetset;
- } else if (sharedWidgetset != null) {
- widgetset = sharedWidgetset;
- } else {
- widgetset = DEFAULT_WIDGETSET;
- }
- String widgetsetURL = getWidgetsetURL(widgetset, request);
- writer.write("document.write('');\n");
- writer.write("document.write(\"\n");
+ page.write("\n");
+ page.write("\n");
+
if (themeName != null) {
// Custom theme's stylesheet, load only once, in different
// script
--
cgit v1.2.3
From 45b2a35ec9789bd1c6ef9cd46de3ba6695279547 Mon Sep 17 00:00:00 2001
From: Leif Åstrand
Date: Thu, 7 Jun 2012 13:40:30 +0000
Subject: Fix some typos in Portlet init javascript and html (#8924)
svn changeset:23910/svn branch:6.8
---
src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
index 26b0d3df1d..898bd2856c 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
@@ -1082,7 +1082,7 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
String widgetsetURL = getWidgetsetURL(request);
writer.write("'\n");
+ + "hidden;opacity:0;top:-100px;left:-100px;\" src=\"javascript:false\">\n");
writer.write("\n");
}
@@ -1107,7 +1107,7 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
// No longer used as of #8924, but retained to maintain compatibility
// But we still need to close this one block, for compatibility
- writer.append("\\n}\\n");
+ writer.append("\n}\n");
}
/**
--
cgit v1.2.3
From 07b20a1cd3118b744e361d02ca4a5607cccf124f Mon Sep 17 00:00:00 2001
From: Leif Åstrand
Date: Thu, 7 Jun 2012 14:02:38 +0000
Subject: Prevent double iframe and script tags if writeAjaxPageScriptWidgetset
is overridden (#8924)
svn changeset:23911/svn branch:6.8
---
.../gwt/server/AbstractApplicationPortlet.java | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
index 898bd2856c..edc151f22d 100644
--- a/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
+++ b/src/com/vaadin/terminal/gwt/server/AbstractApplicationPortlet.java
@@ -76,6 +76,8 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
private static final String PORTAL_PARAMETER_VAADIN_THEME = "vaadin.theme";
+ public static final String WRITE_AJAX_PAGE_SCRIPT_WIDGETSET_SHOULD_WRITE = "writeAjaxPageScriptWidgetsetShouldWrite";
+
// TODO some parts could be shared with AbstractApplicationServlet
// TODO Can we close the application when the portlet is removed? Do we know
@@ -1071,7 +1073,8 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
/**
* Writes the script to load the widgetset on the HTML fragment created by
- * the portlet.
+ * the portlet if the request attribute
+ * WRITE_AJAX_PAGE_SCRIPT_WIDGETSET_SHOULD_WRITE is set to Boolean.TRUE.
*
* @param request
* @param writer
@@ -1079,6 +1082,14 @@ public abstract class AbstractApplicationPortlet extends GenericPortlet
*/
protected void writeAjaxPageWidgetset(RenderRequest request,
BufferedWriter writer) throws IOException {
+ /*
+ * If the old method that used to add this code using document.write has
+ * been overridden, we shouldn't do anything here because then the
+ * iframe and script tag have already been added.
+ */
+ if (request.getAttribute(WRITE_AJAX_PAGE_SCRIPT_WIDGETSET_SHOULD_WRITE) != Boolean.TRUE) {
+ return;
+ }
String widgetsetURL = getWidgetsetURL(request);
writer.write("
- Enhancements in Vaadin @version-minor@
+ Enhancements in Vaadin @version-minor@
-
@@ -94,7 +94,6 @@
-
Keyboard navigation in TabSheet (#5100)
-
-
Max/min limits for splitter position in SplitPanel (#1744)
@@ -102,20 +101,18 @@
Extended day range in month view to six full weeks in DateField (#6718)
-
-
Uncollapseable Table columns (#7495)
+ Non-collapsible Table columns (#7495)
-
Debug IDs unique to a window (#5109)
-
-
-
- Also note:
-
-
-
@@ -123,14 +120,14 @@
- Changes in Vaadin @version@
+ Changes in Vaadin @version@
This release includes the following changes:
@@ -191,7 +188,7 @@
- Package Contents
+ Package Contents
Vaadin Framework is distributed as a single JAR file. Inside the JAR you will
@@ -208,7 +205,7 @@
-
Vaadin @version@ dependencies
+ Vaadin @version@ dependencies
Vaadin uses GWT @gwt-version@ for widget set compilation. GWT can be
--
cgit v1.2.3
From 6940761ffbdad2624c92f3a1f99bc4040f018bf0 Mon Sep 17 00:00:00 2001
From: Johannes Dahlström
Date: Fri, 8 Jun 2012 11:02:54 +0000
Subject: Added more highlighted features to the release notes
svn changeset:23918/svn branch:6.8
---
WebContent/release-notes.html | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/WebContent/release-notes.html b/WebContent/release-notes.html
index 64243f50f3..83b41b32dd 100644
--- a/WebContent/release-notes.html
+++ b/WebContent/release-notes.html
@@ -91,6 +91,9 @@
Possibility to set "alternative text" (alt attribute) for the Embedded component (#6085)
+
+ Possibility to query the browser window width and height on the server-side (#5655)
+
Keyboard navigation in TabSheet (#5100)
@@ -104,7 +107,22 @@
Non-collapsible Table columns (#7495)
- Debug IDs unique to a window (#5109)
+ Selecting a TabSheet tab by its position or a Tab instance (#8203)
+
+
+ Getting a component by its index or the index of a given component in CssLayout (#7614)
+
+
+ Removing all Validators of a Field at once (#8307)
+
+
+ Debug IDs unique to a window, not the whole application (#5109)
+
+
+ Larger default size for the debug window (#8523)
+
+
+ Compatibility with Google SuperDevMode (#8924)
An add-on for handling broken classloaders (#8447)
--
cgit v1.2.3
From 398487ab5ecf9f4f144d9ce462460cae2b069ed2 Mon Sep 17 00:00:00 2001
From: Marko Grönroos
Date: Fri, 8 Jun 2012 14:26:45 +0000
Subject: Updated changelog. Changed formatting of enhancements list.
svn changeset:23921/svn branch:6.8
---
WebContent/release-notes.html | 51 +++++++++++++++++++++++++++----------------
1 file changed, 32 insertions(+), 19 deletions(-)
diff --git a/WebContent/release-notes.html b/WebContent/release-notes.html
index 83b41b32dd..21f13e075e 100644
--- a/WebContent/release-notes.html
+++ b/WebContent/release-notes.html
@@ -75,60 +75,60 @@
-
-
Native scrolling support for Android and iOS (#8763)
+ Native scrolling support for Android and iOS (#8763)
-
-
Possibility to fire Button click events on the server-side (#8209)
+ Possibility to fire Button click events on the server-side (#8209)
-
-
Possibility to use HTML inside a Button caption (#8663)
+ Possibility to use HTML inside a Button caption (#8663)
-
-
Possibility to set "alternative text" (alt attribute) for the Embedded component (#6085)
+ Possibility to set "alternative text" (alt attribute) for the Embedded component (#6085)
-
-
Possibility to query the browser window width and height on the server-side (#5655)
+ Possibility to query the browser window width and height on the server-side (#5655)
-
-
Keyboard navigation in TabSheet (#5100)
+ Keyboard navigation in TabSheet (#5100)
-
-
Max/min limits for splitter position in SplitPanel (#1744)
+ Max/min limits for splitter position in SplitPanel (#1744)
-
-
Extended day range in month view to six full weeks in DateField (#6718)
+ Extended day range in month view to six full weeks in DateField (#6718)
-
-
Non-collapsible Table columns (#7495)
+ Non-collapsible Table columns (#7495)
-
-
Selecting a TabSheet tab by its position or a Tab instance (#8203)
+ Selecting a TabSheet tab by its position or a Tab instance (#8203)
-
-
Getting a component by its index or the index of a given component in CssLayout (#7614)
+ Getting a component by its index or the index of a given component in CssLayout (#7614)
-
-
Removing all Validators of a Field at once (#8307)
+ Removing all Validators of a Field at once (#8307)
-
-
Debug IDs unique to a window, not the whole application (#5109)
+ Debug IDs unique to a window, not the whole application (#5109)
-
-
Larger default size for the debug window (#8523)
+ Larger default size for the debug window (#8523)
-
-
Compatibility with Google SuperDevMode (#8924)
+ Compatibility with Google SuperDevMode (#8924)
-
-
An add-on for handling broken classloaders (#8447)
+ An add-on for handling broken classloaders (#8447)
@@ -165,18 +165,26 @@
- #7495: Table: Make some columns uncollapsable
- #7614: Add getComponentIndex(Component) and getComponent(int) to CssLayout
- #7718: Table footers are visible in IE6/IE7 even though footers have been turned off (Chameleon)
+ - #7771: Update to GWT 2.4
- #7772: Create build configurations for Vaadin 6.8
- #7773: Create branch for Vaadin 6.8
- #7816: Ensure an application that uses injection works on IBM WebSphere v8
- #7833: Make DragAndDropWrapper capable of starting an HTML5 drag
+ - #7865: "Tutorial uses deprecated ""SplitPanel"" rather than ""HorizontalSplitPanel""."
- #7911: Touch device identifiers to div.v-app
- #7931: Invalid top level window size for embedded applications
- #7975: Remove non-core classes from main source directory
- #8203: Add setSelectedTab(TabSheet.Tab) to TabSheet API
- #8209: Button: add public click() method
- #8216: Warning when compiling the widgetset
+ - #8289: Replace @ClientWidget annotation with an annotation that uses String instead of Class
+ - #8297: Static logger instances can cause memory leakage on redeploy
- #8307: Add Field.removeAllValidators
+ - #8332: Vaadin should use -webkit-overflow-scroll: touch for modern devices and also consider to use GWT:s TouchScroller helper
- #8428: Field ROW_HEADER_FAKE_PROPERTY_ID in com.vaadin.ui.Table does not implement Serializable
+ - #8447: Provide a compatibility jar file for servers that use broken classloaders
+ - #8451: Error while deploying Vaadin application on Websphere Application Server 8.0
+ - #8513: Remove steps from Tutorial project
- #8523: Change the default size for the debug window
- #8551: Notifications are displayed in parts on an Asus TF101
- #8600: Tree.hasChildren() works incorrectly after all children were removed
@@ -196,7 +204,12 @@
- #8724: Implement native scrolling support for Table (Android 3+ & iOS 5+)
- #8725: Implement native scrolling support for SplitPanel (Android 3+ & iOS 5+)
- #8739: Test using Firefox 12
- - #8763: Do some groundwork to make implementing touch scrolling in various components easier
+ - #8763: Utilities for native touch scrolling on Android 4+ and iOS 5+
+ - #8798: NPE from RequestTimer prevents showing the real error
+ - #8878: VFilterSelect should implement SubPartAware to always be able to find the text box
+ - #8914: Show better error message when variable change decoding fails
+ - #8923: ?debug=quiet not working with / in uri fragment
+ - #8924: Remove document.write from bootstrap to enable using SuperDevMode
--
cgit v1.2.3