cleanConnectorMap is a hot method.
This change improves multiple code paths:
1) The global resource handler is no longer get()ed from the session for
each connector (was in two loops).
2) The ConnectorTracker is no longer get()ed from the UI for each
connector (was in one loop).
3) values() iterator for ClientConnectors replaces
keySet() iterator + get(key) call
4) use getUI() from ClientConnector instead manual method.
5) moved removeUnregisteredConnectors to ease inlining and readability.
Change-Id: I25ff5bc32d27d30ecd8d354922ec6e4a02b05921
getAllChildrenIterable() is invoked frequently, its used by
attach/detach and markAsDirty.
Because of the implementation detail in CombinedIterator, on every call
all iterators are checked. This means that on every component which has
multiple childs, each next() call will first check the extension
iterator, before advancing in the child iterator.
By having the childs first, this overhead is reduced. If no extensions
are existing (which is quite common) the iterator is not added at all.
(creating an iterator on an empty UnmodifiableCollection is waste of
time and memory)
Change-Id: I23bb91464052ad4282963ec4b5be8a52c6847d4f
Replace use of deprecated DOM.setStyleAttribute method (#13781)
This change is only a brain dead replacement of one specific method. In
some cases, there were some oddities in the surrounding code as well,
but these were left unresolved on purpose.
It should also be noted that DOM.setStyleAttribute just delegates to
element.getStyle().setProperty(), so any null references would have
caused problems already in the existing code.
Change-Id: I340122ac0767af9928076376f76e5bd2c5e19f9f
- When a mobile app goes online/offline we need to change
Heartbeat interval and restart the schedule.
- We also need to be notified about response status in
order to show the appropriate offline UI, etc.
Related with Issue #13250 and review https://dev.vaadin.com/review/#/c/3376/
Change-Id: I428501306e37fb8c2ee0ed6022a4c588bd8456db
Treat initial rendering and style changes separately. (#13444)
This fixes a regression caused by a previous patch, which led to empty comboboxes being initialised with a zero width.
Change-Id: I7e5ca0c563625c453e0e3006d91ed52ad227d6f0
Extract code which focuses on item after changing the page. Deferring this method allows to update the list of items before focusing.
Change-Id: I7d249c2abbd5c24ca2d798736e483f2b7dfa59f1
Made user-initiated column resizing take precedence over other updates (#13432)
VScrollTable ignores server-initiated changes to column size while the user is
dragging a table resizer element.
Change-Id: I2866246e7975a8ddddbfdc12a9d99fb2c813a870
Allow editing colorpicker values in colorpicker in textfield #13469
This fix adds support for typing in color values according to
http://www.w3schools.com/cssref/css_colors_legal.asp into the
colorpicker popup input textfield.
Change-Id: If14ead791725c3052c05aa31e12e237e90c32348
The fix to #9379 broke the support for long type fields in state classes. This
patch bypasses the unboxing of long values and adds the @UnsafeNativeLong annotation
to the methods which may fetch and return (without modifying) long values.
SerializerTest is extended to test the different data types in States.
Change-Id: I29fd2c6af13cd9a0d29ecb1444ed9eb8a2b013e3