From fcc7895d4bbc2e37b473708b00912ecadbf1722a Mon Sep 17 00:00:00 2001 From: Jonatan Kronqvist Date: Tue, 15 Apr 2014 10:18:21 +0300 Subject: Update release-notes for 7.2.0.beta1 Change-Id: I1232c72c3dd8eca5d6223aa9858dac22a5f7817e --- WebContent/release-notes.html | 90 ++++++++++++------------------------------- 1 file changed, 24 insertions(+), 66 deletions(-) (limited to 'WebContent') diff --git a/WebContent/release-notes.html b/WebContent/release-notes.html index 38d9f5211c..01cf665c5d 100644 --- a/WebContent/release-notes.html +++ b/WebContent/release-notes.html @@ -134,66 +134,24 @@ enhancements. Below is a list of the most notable changes:

Tools have been updated for Vaadin @version-minor@ with @@ -620,12 +578,12 @@

-- cgit v1.2.3 From 434a2628cf23c72b329d18ee05a6fc03b13685dd Mon Sep 17 00:00:00 2001 From: Jonatan Kronqvist Date: Fri, 11 Apr 2014 15:57:07 +0300 Subject: Add a section on incompatible changes to release-notes (#13502) Change-Id: I73cc9c7b5509dff0cb5376af9bf4b0ef572add05 --- WebContent/release-notes.html | 72 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 60 insertions(+), 12 deletions(-) (limited to 'WebContent') diff --git a/WebContent/release-notes.html b/WebContent/release-notes.html index 01cf665c5d..dccc82e1bf 100644 --- a/WebContent/release-notes.html +++ b/WebContent/release-notes.html @@ -46,6 +46,12 @@ @version@

  • Enhancements in Vaadin @version-minor@
  • +
  • Incompatible changes in + @version-minor@
  • +
  • Behavior altering + changes in @version-minor@
  • +
  • Known issues in + @version-minor@
  • Limitations in @version-minor@
  • Vaadin Installation
  • @@ -76,44 +82,44 @@ href="http://vaadin.com/download/release/@version-minor@/@version-minor@.0/release-notes.html">Release Notes for Vaadin @version-minor@.0.

    - +

    Security fixes in Vaadin Framework 7.1.11

    - +

    - Vaadin 7.1.11 fixes two security issues discovered during internal review. + Vaadin 7.1.11 fixes two security issues discovered during internal review.

    Escaping of OptionGroup item icon URLs

    - The issue affects OptionGroup with item icons. Proper escaping of the - src-attribute on the client side was not ensured when using icons for + The issue affects OptionGroup with item icons. Proper escaping of the + src-attribute on the client side was not ensured when using icons for OptionGroup items. This could potentially, in certain situations, allow - a malicious user to inject content, such as javascript, in order to + a malicious user to inject content, such as javascript, in order to perform a cross-site scripting (XSS) attack.

    In order for an application to be vulnerable, user provided input must - be used to form a URL used to display an icon for an OptionGroup item, + be used to form a URL used to display an icon for an OptionGroup item, when showing that Option Group to other users.
    The vulnerability has been classified as moderate, due to it's limited - application. + application.

    Escaping of URLs in Util.getAbsoluteUrl()

    The client side Util.getAbsoluteUrl() did not ensure proper escaping of the given URL. This could potentially, in certain situations, allow - a malicious user to inject content, such as javascript, in order to + a malicious user to inject content, such as javascript, in order to perform a cross-site scripting (XSS) attack.

    The method is used internally by the framework in such a manner that it is unlikely this attack vector can be utilized in practice. However, - third party components, or future use of the method, could make an + third party components, or future use of the method, could make an attack viable.
    The vulnerability has been classified as moderate, due to it's limited - application. + application.

    - +

    Change log for Vaadin @version@

    This release includes the following closed issues:

    @@ -182,6 +188,48 @@ Notes for Vaadin 7.0.0.

    +

    Incompatible changes

    + +

    Behavior altering changes

    + + +

    Known issues

    + +

    Limitations

    -- cgit v1.2.3 From cf8b76532a05dcf5bf1afe8997c969c943017f69 Mon Sep 17 00:00:00 2001 From: Juuso Valli Date: Thu, 24 Apr 2014 13:34:05 +0300 Subject: Fix missing TreeTable column lines in IE8 (#12989) Change-Id: Iddc6ecd5f455d28a43a67cdbf22cf81dbf3a6a5b --- WebContent/VAADIN/themes/base/treetable/treetable.scss | 1 - 1 file changed, 1 deletion(-) (limited to 'WebContent') diff --git a/WebContent/VAADIN/themes/base/treetable/treetable.scss b/WebContent/VAADIN/themes/base/treetable/treetable.scss index 934e66097c..e4d41eefa8 100644 --- a/WebContent/VAADIN/themes/base/treetable/treetable.scss +++ b/WebContent/VAADIN/themes/base/treetable/treetable.scss @@ -26,7 +26,6 @@ .#{$primaryStyleName} .v-table-row .v-table-cell-content, .#{$primaryStyleName} .v-table-row-odd .v-table-cell-content { - position: relative; z-index: 10; } -- cgit v1.2.3 From 16bcacd5eb5d56491b4fb4777bab950880b644f3 Mon Sep 17 00:00:00 2001 From: Tapio Aali Date: Tue, 29 Apr 2014 15:56:43 +0300 Subject: Modified vaadinBootstrap to send v-loc as POST instead of GET (#13685). Since there seems to be no difference, moved also almost all other parameters from GET to POST for consistency. Change-Id: I528963c4c832339a9853fbee97cebcb8fabb35e1 --- WebContent/VAADIN/vaadinBootstrap.js | 50 +++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 24 deletions(-) (limited to 'WebContent') diff --git a/WebContent/VAADIN/vaadinBootstrap.js b/WebContent/VAADIN/vaadinBootstrap.js index bab759b812..fc0fb9b948 100644 --- a/WebContent/VAADIN/vaadinBootstrap.js +++ b/WebContent/VAADIN/vaadinBootstrap.js @@ -108,29 +108,29 @@ // No special url defined, use the same URL that loaded this page (without the fragment) url = window.location.href.replace(/#.*/,''); } - url += ((/\?/).test(url) ? "&" : "?") + "v-browserDetails=1"; + // Timestamp to avoid caching + url += ((/\?/).test(url) ? "&" : "?") + "v-" + (new Date()).getTime(); + + var params = "v-browserDetails=1"; var rootId = getConfig("v-rootId"); if (rootId !== undefined) { - url += "&v-rootId=" + rootId; + params += "&v-rootId=" + rootId; } // Tell the UI what theme it is configured to use var theme = getConfig('theme'); if (theme !== undefined) { - url += '&theme=' + encodeURIComponent(theme); + params += '&theme=' + encodeURIComponent(theme); } - url += "&v-appId=" + appId; + params += "&v-appId=" + appId; var extraParams = getConfig('extraParams') if (extraParams !== undefined) { - url += extraParams; + params += extraParams; } - url += '&' + vaadin.getBrowserDetailsParameters(appId); - - // Timestamp to avoid caching - url += '&v-' + (new Date()).getTime(); + params += '&' + vaadin.getBrowserDetailsParameters(appId); var r; try { @@ -168,7 +168,9 @@ } } }; - r.send(null); + // send parameters as POST data + r.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); + r.send(params); log('sending request to ', url); }; @@ -239,8 +241,8 @@ }, getBrowserDetailsParameters: function(parentElementId) { // Screen height and width - var url = 'v-sh=' + window.screen.height; - url += '&v-sw=' + window.screen.width; + var params = 'v-sh=' + window.screen.height; + params += '&v-sw=' + window.screen.width; // Window height and width var cw = 0; @@ -254,12 +256,12 @@ cw = document.documentElement.clientWidth; ch = document.documentElement.clientHeight; } - url += '&v-cw=' + cw + '&v-ch=' + ch; + params += '&v-cw=' + cw + '&v-ch=' + ch; var d = new Date(); - url += '&v-curdate=' + d.getTime(); + params += '&v-curdate=' + d.getTime(); var tzo1 = d.getTimezoneOffset(); // current offset var dstDiff = 0; @@ -276,29 +278,29 @@ } // Time zone offset - url += '&v-tzo=' + tzo1; + params += '&v-tzo=' + tzo1; // DST difference - url += '&v-dstd=' + dstDiff; + params += '&v-dstd=' + dstDiff; // Raw time zone offset - url += '&v-rtzo=' + rtzo; + params += '&v-rtzo=' + rtzo; // DST in effect? - url += '&v-dston=' + (tzo1 != rtzo); + params += '&v-dston=' + (tzo1 != rtzo); var pe = document.getElementById(parentElementId); if (pe) { - url += '&v-vw=' + pe.offsetWidth; - url += '&v-vh=' + pe.offsetHeight; + params += '&v-vw=' + pe.offsetWidth; + params += '&v-vh=' + pe.offsetHeight; } // Location - url += '&v-loc=' + encodeURIComponent(location.href); + params += '&v-loc=' + encodeURIComponent(location.href); // Window name if (window.name) { - url += '&v-wn=' + encodeURIComponent(window.name); + params += '&v-wn=' + encodeURIComponent(window.name); } // Detect touch device support @@ -313,10 +315,10 @@ } if (supportsTouch) { - url += "&v-td=1"; + params += "&v-td=1"; } - return url; + return params; } }; -- cgit v1.2.3 From c98286e22c32b56a75b21d629c8b5968856d1ae1 Mon Sep 17 00:00:00 2001 From: Denis Anisimov Date: Thu, 13 Mar 2014 08:56:31 +0200 Subject: Set explicit left alignment instead of removing text-align style (#13399). Change-Id: I3407555739ff443055e2e61aa14327d44a65cd8e --- WebContent/VAADIN/themes/tests-table/styles.css | 5 ++ client/src/com/vaadin/client/ui/VScrollTable.java | 45 +++++------ .../components/table/LeftColumnAlignment.java | 90 ++++++++++++++++++++++ .../components/table/LeftColumnAlignmentTest.java | 58 ++++++++++++++ 4 files changed, 171 insertions(+), 27 deletions(-) create mode 100644 WebContent/VAADIN/themes/tests-table/styles.css create mode 100644 uitest/src/com/vaadin/tests/components/table/LeftColumnAlignment.java create mode 100644 uitest/src/com/vaadin/tests/components/table/LeftColumnAlignmentTest.java (limited to 'WebContent') diff --git a/WebContent/VAADIN/themes/tests-table/styles.css b/WebContent/VAADIN/themes/tests-table/styles.css new file mode 100644 index 0000000000..78193c0982 --- /dev/null +++ b/WebContent/VAADIN/themes/tests-table/styles.css @@ -0,0 +1,5 @@ +@import url(../reindeer/legacy-styles.css); + +.v-table-footer-container, .v-table-cell-wrapper { + text-align: center; +} diff --git a/client/src/com/vaadin/client/ui/VScrollTable.java b/client/src/com/vaadin/client/ui/VScrollTable.java index 38f8ff8644..b0cd614e42 100644 --- a/client/src/com/vaadin/client/ui/VScrollTable.java +++ b/client/src/com/vaadin/client/ui/VScrollTable.java @@ -3843,7 +3843,7 @@ public class VScrollTable extends FlowPanel implements HasWidgets, "right"); break; default: - DOM.setStyleAttribute(captionContainer, "textAlign", ""); + DOM.setStyleAttribute(captionContainer, "textAlign", "left"); break; } } @@ -5407,17 +5407,7 @@ public class VScrollTable extends FlowPanel implements HasWidgets, } else { container.setInnerText(text); } - if (align != ALIGN_LEFT) { - switch (align) { - case ALIGN_CENTER: - container.getStyle().setProperty("textAlign", "center"); - break; - case ALIGN_RIGHT: - default: - container.getStyle().setProperty("textAlign", "right"); - break; - } - } + setAlign(align, container); setTooltip(td, description); td.appendChild(container); @@ -5455,6 +5445,21 @@ public class VScrollTable extends FlowPanel implements HasWidgets, } + private void setAlign(char align, final Element container) { + switch (align) { + case ALIGN_CENTER: + container.getStyle().setProperty("textAlign", "center"); + break; + case ALIGN_LEFT: + container.getStyle().setProperty("textAlign", "left"); + break; + case ALIGN_RIGHT: + default: + container.getStyle().setProperty("textAlign", "right"); + break; + } + } + protected void initCellWithWidget(Widget w, char align, String style, boolean sorted, final TableCellElement td) { final Element container = DOM.createDiv(); @@ -5471,21 +5476,7 @@ public class VScrollTable extends FlowPanel implements HasWidgets, td.setClassName(className); container.setClassName(VScrollTable.this.getStylePrimaryName() + "-cell-wrapper"); - // TODO most components work with this, but not all (e.g. - // Select) - // Old comment: make widget cells respect align. - // text-align:center for IE, margin: auto for others - if (align != ALIGN_LEFT) { - switch (align) { - case ALIGN_CENTER: - container.getStyle().setProperty("textAlign", "center"); - break; - case ALIGN_RIGHT: - default: - container.getStyle().setProperty("textAlign", "right"); - break; - } - } + setAlign(align, container); td.appendChild(container); getElement().appendChild(td); // ensure widget not attached to another element (possible tBody diff --git a/uitest/src/com/vaadin/tests/components/table/LeftColumnAlignment.java b/uitest/src/com/vaadin/tests/components/table/LeftColumnAlignment.java new file mode 100644 index 0000000000..e783951d86 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/table/LeftColumnAlignment.java @@ -0,0 +1,90 @@ +/* + * Copyright 2000-2014 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.tests.components.table; + +import com.vaadin.annotations.Theme; +import com.vaadin.data.util.BeanItemContainer; +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.ui.Button; +import com.vaadin.ui.Button.ClickEvent; +import com.vaadin.ui.Button.ClickListener; +import com.vaadin.ui.Table; +import com.vaadin.ui.Table.Align; + +/** + * Test UI for issue #13399 : Left alignment should not be set explicitly + * instead of relying on default behavior + * + * @author Vaadin Ltd + */ +@Theme("tests-table") +public class LeftColumnAlignment extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + final Table table = new Table(); + + BeanItemContainer container = new BeanItemContainer( + Bean.class); + Bean bean = new Bean(); + bean.setName("property"); + container.addBean(bean); + table.setContainerDataSource(container); + + table.setFooterVisible(true); + + table.setWidth(100, Unit.PIXELS); + + table.setColumnAlignment("name", Align.RIGHT); + + addComponent(table); + + Button button = new Button("Align to Left"); + button.addClickListener(new ClickListener() { + + @Override + public void buttonClick(ClickEvent event) { + table.setColumnAlignment("name", Align.LEFT); + } + }); + addComponent(button); + } + + @Override + protected String getTestDescription() { + return "Left alignment should not be set explicitly instead of relying on default behavior"; + } + + @Override + protected Integer getTicketNumber() { + return 13399; + } + + public static class Bean { + private String name; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + } + +} diff --git a/uitest/src/com/vaadin/tests/components/table/LeftColumnAlignmentTest.java b/uitest/src/com/vaadin/tests/components/table/LeftColumnAlignmentTest.java new file mode 100644 index 0000000000..3d613fd726 --- /dev/null +++ b/uitest/src/com/vaadin/tests/components/table/LeftColumnAlignmentTest.java @@ -0,0 +1,58 @@ +/* + * Copyright 2000-2014 Vaadin Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.vaadin.tests.components.table; + +import org.junit.Assert; +import org.junit.Test; +import org.openqa.selenium.WebElement; + +import com.vaadin.testbench.By; +import com.vaadin.tests.tb3.MultiBrowserTest; + +/** + * Test class for issue #13399 : Left alignment should not be set explicitly + * instead of relying on default behavior + * + * @author Vaadin Ltd + */ +public class LeftColumnAlignmentTest extends MultiBrowserTest { + + @Test + public void testLeftColumnAlignment() throws Exception { + openTestURL(); + + // Do align columns to the left + WebElement webElement = driver.findElement(By.className("v-button")); + webElement.click(); + + Assert.assertTrue("Table caption is not aligned to the left", + isElementPresent(By + .className("v-table-caption-container-align-left"))); + + WebElement footer = driver.findElement(By + .className("v-table-footer-container")); + + Assert.assertEquals("Table footer is not aligned to the left", "left", + footer.getCssValue("text-align")); + + WebElement cell = driver.findElement(By + .className("v-table-cell-wrapper")); + + Assert.assertEquals("Table cell is not aligned to the left", "left", + cell.getCssValue("text-align")); + } + +} -- cgit v1.2.3 From 43c1a364fd240fda8bf8a3e58b417d2cea76d36c Mon Sep 17 00:00:00 2001 From: Jonatan Kronqvist Date: Fri, 9 May 2014 15:07:47 +0300 Subject: Update the release-notes (#13612) * Removed the "Tools have been updated for Vaadin 7.2 with the following changes:" * Removed the security fix notice for 7.1.11 * Removed the text about using the experimental Eclipse plug-in * Specify that 7.2 is a minor release * Clarified the known issues section * Listed Windows Phone 8 in supported devices * Replaced vaadin.com/pro-account with vaadin.com/pro-tools and vaadin.com/support Change-Id: I8e03b65453419c9cb9f4570067675156f2be76fe --- WebContent/release-notes.html | 152 +++++++----------------------------------- 1 file changed, 24 insertions(+), 128 deletions(-) (limited to 'WebContent') diff --git a/WebContent/release-notes.html b/WebContent/release-notes.html index 7de723629f..5b9f15f06b 100644 --- a/WebContent/release-notes.html +++ b/WebContent/release-notes.html @@ -41,7 +41,6 @@

    -

    Tools have been updated for Vaadin @version-minor@ with - the following changes:

    - - -

    For enchancements introduced in Vaadin 7, see the Release @@ -198,9 +132,7 @@ from the Android SDK. They are 99% compatible.

  • StringToNumberConverter has been removed in favor of more specific converters such as StringToBigDecimalConverter.
  • -
  • (internal) Atmosphere has been updated from version 1.x to 2.x. These - are not 100% compatible.
  • -
  • (internal) There is no longer support for "multiple variable bursts" +
  • There is no longer support for "multiple variable bursts" in the UIDL communication.
  • Behavior altering changes

    @@ -222,12 +154,8 @@

    Known issues

    Limitations

    @@ -241,17 +169,13 @@ href="http://dev.vaadin.com/ticket/11493">#11493
    )
  • HTTP session can not be invalidated while using - push (#11721) + push over websockets on Tomcat 7 (#11721)
  • -
  • Cookies are not available while using push (Cookies are not available while using websockets (#11808)
  • -
  • Not all proxies are compatible with websockets. If - you are using push with an incompatible proxy you might - have to force the transport mode to streaming. Some - proxies have problems with streaming also - you need to - ensure that the proxy does not buffer responses for HTTP - streaming to work.
  • +
  • Not all proxies are compatible with websockets or streaming. + Use long polling to avoid these problems.
  • Vaadin Installation

    @@ -278,8 +202,7 @@
  • If using Eclipse, use the Vaadin Plugin for Eclipse, which automatically downloads the Vaadin - libraries. To use this prerelease version, the plugin - should be installed from the experimental update site (http://vaadin.com/eclipse/experimental). + libraries.
  • @@ -416,30 +339,7 @@ directory of the web application that uses validation.

    -

    Upgrading to Vaadin @version-minor@

    - -

    Upgrading the Eclipse Plugin

    - -

    - Vaadin 7 requires that you use a compatible version of the - Vaadin Plugin for Eclipse. The stable version of the plugin - is available from the - http://vaadin.com/eclipse - update site. Please see the section - about updating the plugin in the Book of Vaadin and the - installation - instructions at the download site for more details. -

    - -

    - You can also use the experimental Vaadin Plugin for - Eclipse. Its update site is - http://vaadin.com/eclipse/experimental - . -

    - -

    General Upgrading Instructions

    +

    Upgrading from Vaadin 7.1 to Vaadin @version-minor@

    When upgrading from an earlier Vaadin version, you must:

    @@ -449,11 +349,8 @@ version. Binary compatibility is only guaranteed for maintenance releases of Vaadin. -
  • Recompile any add-ons you have created using the - new Vaadin
  • -
  • Unless using the precompiled widget set, recompile - your widget set using the new Vaadin version
  • + your widget set using the new Vaadin version.

    Remember also to refresh the project in your IDE to @@ -492,12 +389,9 @@ the contents of the vaadin-client-compiled and vaadin-themes must be extracted to the ROOT/html/VAADIN directory in the Liferay installation. If your portal uses custom - widgets, install the latest version of Vaadin - Control Panel for Liferay for easy widget set - compilation - when it is available - the add-on is not - compatible with Vaadin @version@ at the time of this Vaadin - release. + widgets, you can use + Liferay Control Panel for Vaadin for easy widget set compilation.

    @@ -623,11 +517,11 @@

    - Vaadin supports the following desktop browsers: + Vaadin @version@ supports the following desktop browsers:

    @@ -553,6 +554,11 @@
  • PostgreSQL
  • +

    Authors

    + Vaadin @version@ was created by: +

    Vaadin on the Web

    Limitations

    -- cgit v1.2.3 From 717d868b79896811e5a9489239f3eea42e1fed09 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Wed, 14 May 2014 01:13:10 +0300 Subject: Disable authors because of build agent problems Change-Id: I5426d8a85f7b57193c1bbfe201258a09f93b54cb --- WebContent/release-notes.html | 6 ------ 1 file changed, 6 deletions(-) (limited to 'WebContent') diff --git a/WebContent/release-notes.html b/WebContent/release-notes.html index 847bade7cd..baa91232b2 100644 --- a/WebContent/release-notes.html +++ b/WebContent/release-notes.html @@ -63,7 +63,6 @@ @version-minor@
  • Supported technologies
  • -
  • Authors
  • Vaadin on the Web
  • @@ -560,11 +559,6 @@
  • PostgreSQL
  • -

    Authors

    - Vaadin @version@ was created by: -

    Vaadin on the Web