]> source.dussan.org Git - vaadin-framework.git/commitdiff
Also check contents of BrowserDetails to determine if details are there
authorLeif Åstrand <leif@vaadin.com>
Thu, 22 Dec 2011 11:39:55 +0000 (13:39 +0200)
committerLeif Åstrand <leif@vaadin.com>
Thu, 22 Dec 2011 11:39:55 +0000 (13:39 +0200)
src/com/vaadin/Application.java
tests/testbench/com/vaadin/tests/components/root/LazyInitRoots.java

index bc2575a5fef44e9e803b62febcaa1a3344db1c85..9d38c72dcd1b8d9bd51506840818a07caf07604b 100644 (file)
@@ -2217,8 +2217,10 @@ public class Application implements Terminal.ErrorListener, Serializable {
 
         synchronized (this) {
             BrowserDetails browserDetails = request.getBrowserDetails();
+            boolean hasBrowserDetails = browserDetails != null
+                    && browserDetails.getUriFragment() != null;
 
-            if (browserDetails != null) {
+            if (hasBrowserDetails) {
                 // Don't wait for a second request any more
                 pendingRoots.remove(rootId);
             }
@@ -2234,7 +2236,7 @@ public class Application implements Terminal.ErrorListener, Serializable {
                 }
 
                 Integer retainedRootId;
-                if (browserDetails == null) {
+                if (!hasBrowserDetails) {
                     throw new RootRequiresMoreInformationException();
                 } else {
                     String windowName = browserDetails.getWindowName();
@@ -2270,7 +2272,7 @@ public class Application implements Terminal.ErrorListener, Serializable {
                 boolean initRequiresBrowserDetails = preserveRoot
                         || !root.getClass()
                                 .isAnnotationPresent(EagerInit.class);
-                if (initRequiresBrowserDetails && browserDetails == null) {
+                if (initRequiresBrowserDetails && !hasBrowserDetails) {
                     pendingRoots.put(rootId, new PendingRootRequest(request));
                 } else {
                     if (preserveRoot) {
index 93bbc3995e423374b2f985a9b0ad4b44bda44126..109e93f1b8ac572b6739cd0a65e2affb1cfbbbf7 100644 (file)
@@ -28,7 +28,8 @@ public class LazyInitRoots extends AbstractTestApplication {
         if (request.getParameter("lazyCreate") != null) {
             // Root created on second request
             final BrowserDetails browserDetails = request.getBrowserDetails();
-            if (browserDetails == null) {
+            if (browserDetails == null
+                    || browserDetails.getUriFragment() == null) {
                 throw new RootRequiresMoreInformationException();
             } else {
                 Root root = new Root() {