]> source.dussan.org Git - vaadin-framework.git/commitdiff
Incorrect rendering of Panel with undefined size in Firefox (#14631).
authorSergey Budkin <sergey@vaadin.com>
Fri, 3 Oct 2014 09:25:37 +0000 (12:25 +0300)
committerVaadin Code Review <review@vaadin.com>
Thu, 9 Oct 2014 14:10:10 +0000 (14:10 +0000)
Copied the fix from Valo.

Change-Id: I677fc4cfb65a57211fd82d994d75743fd49a83a2

WebContent/VAADIN/themes/base/common/common.scss
uitest/src/com/vaadin/tests/components/panel/UndefinedSizeScrollbars.java [new file with mode: 0644]
uitest/src/com/vaadin/tests/components/panel/UndefinedSizeScrollbarsTest.java [new file with mode: 0644]

index 2f03561c0bcab1b887b6212783fd9ddda360cce5..ea8b5e5aa08e2307bd07ded46ce38304a2d68590 100644 (file)
@@ -259,6 +259,18 @@ input::-ms-clear {
        -webkit-overflow-scrolling: none;
 }
 
+/* "Unnecessary scrollbar" related fixes (#14631, copied from Valo) */
+.v-scrollable.v-panel-content > .v-widget {
+        /* This is needed for IE */
+        vertical-align: middle;
+
+        /* Needed for all browsers. Can't really show anything outside the
+         * scrolling area anyway, so we can safely hide any overflow */
+        overflow: hidden;
+}
+
+
+
 &.v-overlay-container {
        width: 0;
        height: 0;
diff --git a/uitest/src/com/vaadin/tests/components/panel/UndefinedSizeScrollbars.java b/uitest/src/com/vaadin/tests/components/panel/UndefinedSizeScrollbars.java
new file mode 100644 (file)
index 0000000..ef535ba
--- /dev/null
@@ -0,0 +1,71 @@
+/*
+ * 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.panel;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.CheckBox;
+import com.vaadin.ui.ComboBox;
+import com.vaadin.ui.GridLayout;
+import com.vaadin.ui.Panel;
+import com.vaadin.ui.TextField;
+import com.vaadin.ui.VerticalLayout;
+
+public class UndefinedSizeScrollbars extends AbstractTestUI {
+
+    @Override
+    protected void setup(VaadinRequest request) {
+        VerticalLayout layout = new VerticalLayout();
+        layout.setSpacing(true);
+        layout.setSizeFull();
+        setContent(layout);
+
+        GridLayout grid = new GridLayout();
+        grid.setSpacing(true);
+
+        TextField text1 = new TextField();
+        text1.setCaption("Text1");
+        text1.setRequired(true);
+
+        TextField text2 = new TextField();
+        text2.setCaption("Text2");
+        text2.setRequired(true);
+
+        ComboBox combo = new ComboBox();
+        combo.setCaption("Combo1");
+
+        CheckBox check = new CheckBox();
+        check.setCaption("Check");
+
+        grid.setColumns(2);
+        grid.setRows(2);
+
+        grid.addComponent(text1);
+        grid.addComponent(text2);
+        grid.addComponent(combo);
+        grid.addComponent(check);
+
+        grid.setSizeUndefined();
+
+        Panel panel = new Panel();
+        panel.setContent(grid);
+
+        panel.setSizeUndefined();
+
+        layout.addComponent(panel);
+    }
+
+}
diff --git a/uitest/src/com/vaadin/tests/components/panel/UndefinedSizeScrollbarsTest.java b/uitest/src/com/vaadin/tests/components/panel/UndefinedSizeScrollbarsTest.java
new file mode 100644 (file)
index 0000000..c055356
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * 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.panel;
+
+import java.io.IOException;
+
+import org.junit.Test;
+
+import com.vaadin.tests.tb3.MultiBrowserTest;
+
+public class UndefinedSizeScrollbarsTest extends MultiBrowserTest {
+
+    @Test
+    public void testNoScrollbars() throws IOException {
+        openTestURL();
+        compareScreen("noscrollbars");
+    }
+}