summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2013-04-23 10:36:44 +0300
committerArtur Signell <artur@vaadin.com>2013-04-23 10:41:09 +0300
commitfeb9a8c3510afc76c079fafcd9e507205bde139c (patch)
treec708580ae8fcce1a96f60604e2c91c7181e7d949
parent184114b0881a5323139e5cafd6bd7e5c04afd8e2 (diff)
downloadvaadin-framework-feb9a8c3510afc76c079fafcd9e507205bde139c.tar.gz
vaadin-framework-feb9a8c3510afc76c079fafcd9e507205bde139c.zip
Different fix for #11152 which is restricted to the problematic case in horizontal layout
Change-Id: I4727f0a8f0b82f14f059c7e47a1819a18630a4c0
-rw-r--r--WebContent/VAADIN/themes/base/common/common.scss6
-rw-r--r--WebContent/VAADIN/themes/base/layout/layout.scss5
-rw-r--r--uitest/src/com/vaadin/tests/components/combobox/ComboBoxCursorPositionReset.java55
3 files changed, 60 insertions, 6 deletions
diff --git a/WebContent/VAADIN/themes/base/common/common.scss b/WebContent/VAADIN/themes/base/common/common.scss
index d6dfed11df..e7fdd3fe84 100644
--- a/WebContent/VAADIN/themes/base/common/common.scss
+++ b/WebContent/VAADIN/themes/base/common/common.scss
@@ -204,12 +204,6 @@ body &.v-app-loading {
padding: 2px;
}
-/* Fix for IE9 caret bug #11152 */
-input,
-textarea {
- position: relative;
-}
-
.v-drag-element {
z-index: 60000;
/* override any other position: properties */
diff --git a/WebContent/VAADIN/themes/base/layout/layout.scss b/WebContent/VAADIN/themes/base/layout/layout.scss
index d49b2ad0dd..049c527518 100644
--- a/WebContent/VAADIN/themes/base/layout/layout.scss
+++ b/WebContent/VAADIN/themes/base/layout/layout.scss
@@ -105,6 +105,11 @@ div.v-layout.v-horizontal.v-widget {
height: 100%;
}
+/* Workaround for IE8+IE9 bug where clicking inside an input area which is inside a div with negative margin causes cursor position to jump to wrong position. See #11152 */
+.v-horizontal > .v-expand > .v-slot {
+ position: relative;
+}
+
.v-vertical > .v-spacing,
.v-vertical > .v-expand > .v-spacing {
width: 0;
diff --git a/uitest/src/com/vaadin/tests/components/combobox/ComboBoxCursorPositionReset.java b/uitest/src/com/vaadin/tests/components/combobox/ComboBoxCursorPositionReset.java
new file mode 100644
index 0000000000..20a62f2a33
--- /dev/null
+++ b/uitest/src/com/vaadin/tests/components/combobox/ComboBoxCursorPositionReset.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2000-2013 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.combobox;
+
+import com.vaadin.server.VaadinRequest;
+import com.vaadin.tests.components.AbstractTestUI;
+import com.vaadin.ui.ComboBox;
+import com.vaadin.ui.HorizontalLayout;
+import com.vaadin.ui.Label;
+
+public class ComboBoxCursorPositionReset extends AbstractTestUI {
+
+ @Override
+ protected void setup(VaadinRequest request) {
+ final HorizontalLayout root = new HorizontalLayout();
+ root.setSizeFull();
+ setContent(root);
+
+ ComboBox combo = new ComboBox();
+ combo.setImmediate(true);
+ root.addComponent(combo);
+ combo.addItem("Hello World");
+ combo.addItem("Please click on the text");
+
+ combo.setValue("Please click on the text");
+ Label gap = new Label();
+ root.addComponent(gap);
+ root.setExpandRatio(gap, 1);
+
+ }
+
+ @Override
+ protected String getTestDescription() {
+ return "Clicking on the text in the ComboBox should position the caret where you clicked, not cause it to jump to the start or the end";
+ }
+
+ @Override
+ protected Integer getTicketNumber() {
+ return 11152;
+ }
+
+}