Browse Source

Incorrect rendering of Panel with undefined size in Firefox (#14631).

Copied the fix from Valo.

Change-Id: I677fc4cfb65a57211fd82d994d75743fd49a83a2
tags/7.4.0.beta1
Sergey Budkin 9 years ago
parent
commit
15bd3fd1dc

+ 12
- 0
WebContent/VAADIN/themes/base/common/common.scss View 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;

+ 71
- 0
uitest/src/com/vaadin/tests/components/panel/UndefinedSizeScrollbars.java View File

@@ -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);
}

}

+ 31
- 0
uitest/src/com/vaadin/tests/components/panel/UndefinedSizeScrollbarsTest.java View File

@@ -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");
}
}

Loading…
Cancel
Save