Reviewers: jgw,

Description:
Calling PopupPanel#removeFromParent or
RootPanel.get().remove(popupPanel) does not hide the glass.

Fix:
=====
onUnload now uses ResizeAnimation to complete the hide process if the
PopupPanel isn't already hidden.

While the fix seems trivial, this bug actually revealed a few problems
that can lead to invalid states. First of all, prior to this patch,
calling hide() would actually call setState() twice (once in hide, once
in onUnload).  Second, calling hide() synchronously after calling show
with animations could would leave the PopupPanel in an invalid state.

Testing:
=======
I added unit tests.

Please review this at http://gwt-code-reviews.appspot.com/220801

Affected files:
  user/src/com/google/gwt/user/client/ui/PopupPanel.java
  user/test/com/google/gwt/user/client/ui/PopupTest.java


--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to