]> source.dussan.org Git - vaadin-framework.git/commitdiff
Fix for #3792 - SplitPanel resizing issue with RichTextArea
authorArtur Signell <artur.signell@itmill.com>
Fri, 15 Jan 2010 10:26:19 +0000 (10:26 +0000)
committerArtur Signell <artur.signell@itmill.com>
Fri, 15 Jan 2010 10:26:19 +0000 (10:26 +0000)
svn changeset:10733/svn branch:6.2

src/com/vaadin/terminal/gwt/client/ui/VSplitPanel.java

index 8ed26110315750bf9c52cdbf51db1b49e2e61dcb..8947a1e8a07b322fffe00dbba3e6a7ba8593e769 100644 (file)
@@ -375,7 +375,7 @@ public class VSplitPanel extends ComplexPanel implements Container,
             // Dragging curtain interferes with click events if added in
             // mousedown so we add it only when needed i.e., if the mouse moves
             // outside the splitter.
-            if (resizing && BrowserInfo.get().isGecko()) {
+            if (resizing) {
                 showDraggingCurtain();
             }
             break;
@@ -461,9 +461,7 @@ public class VSplitPanel extends ComplexPanel implements Container,
 
     public void onMouseUp(Event event) {
         DOM.releaseCapture(getElement());
-        if (BrowserInfo.get().isGecko()) {
-            hideDraggingCurtain();
-        }
+        hideDraggingCurtain();
         resizing = false;
         onMouseMove(event);
         updateSplitPositionToServer();
@@ -474,6 +472,9 @@ public class VSplitPanel extends ComplexPanel implements Container,
      * iframe.
      */
     private void showDraggingCurtain() {
+        if (!isDraggingCurtainRequired()) {
+            return;
+        }
         if (draggingCurtain == null) {
             draggingCurtain = DOM.createDiv();
             DOM.setStyleAttribute(draggingCurtain, "position", "absolute");
@@ -488,6 +489,15 @@ public class VSplitPanel extends ComplexPanel implements Container,
         }
     }
 
+    /**
+     * A dragging curtain is required in Gecko and Webkit.
+     * 
+     * @return true if the browser requires a dragging curtain
+     */
+    private boolean isDraggingCurtainRequired() {
+        return (BrowserInfo.get().isGecko() || BrowserInfo.get().isWebkit());
+    }
+
     /**
      * Hides dragging curtain
      */