Allow creating TextBox or SuggestionPopup when extending VFilterSelect (#12491)
This patch adds two methods, that one can override when extending VFilterSelect.
By doing so, the developer can for example change the behavior of setting text,
or performing clicks in the suggestion popup.
This change is backwards compatible, as it just offers two new methods to
override.
Change-Id: Icc8fd154ef1abaed96e6af742af77c3225db3fe4
TestHideTimeAndSeparator didn't specify a locale, which
caused it to fail if the locale on the system where it
ran was different from the one on the system where the
test was created.
Change-Id: I44de92c68954eac425308eeaf7e07e76c717f2bf
Table ignores Container updates while painting (#12258)
Vaadin threw an IllegalStateException if a Container was updated while
Table was being painted. SQLContainer was known to invalidate its cached
size during a Table repaint, resulting in an ItemSetChangeEvent. This fix
has been copied over from how ComboBox handles this situation.
Change-Id: I04af71a5ea3844da245cb9e31ada4a30ff704619
Avoid leaking memory from inherited ThreadLocales. Fixes #12401
The issue is fixed by changing the normal HashMap inside the inheritable
thread local to a map implementation holding only weak references to the
values (WeakValueMap).
Also included is a test UI that starts threads, which run until the JVM
is quit. This along with VisualVM was used to reproduce the issue and
verify the fix.
Change-Id: I116cc4e56e8a19c3b770abab6b18b9e262f4dafa
Use the add() path of CssLayout only when appending to the end (#11284)
This should get the benefits of the previous optimization on initial
rendering without negatively affecting the performance when modifying a
layout with complex non-leaf children.
Change-Id: Id6fcf3e54469454c6a998a50037c8a93bfb46cf6
Optimize large Vertical/HorizontalLayout client side (#12420, #10899)
Spacing is now only handled at the beginning and end of hierarchy
updates, not for every component separately.
Some more profiling data on potential hotspots is also generated when
Profiler is used.
Change-Id: Ief1138dfd9161b683f69513e3458b8174de592bc
Optimize resetting of state when detaching components (#10899, #11284)
This has a significant impact on some older browsers, especially IE8.
This change also adds hierarchy update profiling statements to
help find hotspots.
Change-Id: Id7025776f8606794ba1d7aef99e2c37832b0c6bb
The test fails on Opera 12 since the assertText is done before the
tabsheet has had time to change the tab content. Added a small waiting
period after the tab is changed before the assert is made to fix the
issue.
Change-Id: I89dfe040b577106f9f843c8b4013d20be1e02166
Fixed test broken by PopupDateField communication change #6252
After #6252 the value is no longer communicated to the server
immediatly but only once the popup is closed. Changed the test to assume
the new behaviour.
Change-Id: I74782971d47367a8a57a520d5f4ab736f9b37c2c
Due to the fixes to the VDragAndDropManager the drop location became a
lot more accurate and so changed where the drops were made in the test.
To fix it I adjusted the pixel position within the drop target element to account for the
changed accuracy.
Change-Id: I60fec00a40c36fe0afcc7a4bacb2f7b101201b70
Fixed DragAndDropWrapper using wrong drop target in IE8 #12406
VDragAndDropManager was assuming that the target element will always be
inside the cloned "drag image" element while dragging. This assumption
is false since the "drag image" can be 0x0px or transparent effectivly
disabling dragging.
Since Testbench 2 is also very flaky in using the Vaadin locators with
the drag/drop commands I replaced the locators with shorter locators
using a debug id to make the test more readable and stable.
Change-Id: I2cc9683d11e982521e74418c74dd3e81ee617ac5
Make sure that no fileIds are replayed to the client (#12330)
Due to how ProxyReceivers are constructed and serialized, we don't want
to resend the ProxyReceivers for files that already are in the queue.
Either we needed to change the way ProxyReceivers behave, or just make
sure that they aren't resent. I chose the double-check method.
Change-Id: I7c4e866ba4287afd3e80329be3640335d4ff00af