Fixed an NPE while changing a DateField from 24 to 12h clock (#13722)
A client-side NullPointerException was fixed by not reusing
the existing VTime panel and always recreating it instead.
Otherwise the ListBox for switching between AM/PM might have
been null.
Change-Id: I8d54d91627043a12b52ac5d5e54d6f7a729af1ac
- Don't have Atmosphere scan the entire classpath for annotations
- Don't use load-on-startup = -1 since Jetty still inits the servlets
- Avoid initing the integration test servlet for serving /VAADIN/*
Change-Id: Ic6a650442a11ac87ce15dabce3acda12a9cc71b3
- Change the order to install IvyDE before importing the project
- Explicitly mention the Ant tasks since it's such a common mistake
Change-Id: I1a9edc39f72c5fd4b31cdfe3db9b4fa87d6d8cf2
Use more exact paths for ivysettings.xml and build.properties (#13616)
Defining the paths to be relative to the workspace is needed for
compatibility with older versions of IvyDE / Eclipse. All other
dependencies are already defined in this way, it's only this new gwt
dependency that isn't consistent with the others.
Change-Id: Iad976566fc7927745fe5534951be1f476c810ff5
Fix for handling selectors with both width and height ranges (#13587)
This fix splits the used regular expressions into a more manageable
parts while fixing the handling of a case where both width-range and
height-range are defined. Also refactored some duplicate code into
a helper function.
Change-Id: I98295b8b0772b33a9985c0630e065eea2281d11d
Tooltips are no longer removed but moved outside the viewport,
which broke several tests.
Rewrite related tests using TB4 to be stable across all
browsers. There are differences between browsers (e.g.
position -999 or -1000, gwt-uid-* varied between browsers
etc.) so TB2 tests kept failing on some or all browsers.
Some tests have been renamed to better indicate what they
do.
Change-Id: Ia7276871f3c26d506dc70e1719347d020b547bfc
Removes double spacing from gridLayout which has empty rows or columns (#8855)
If row has no elements or only invisible elements, its size will be set to zero.
When row expand ratio was set, its size will be assigned to the value according to an expand ratio.
If component takes several rows of the gridLayout, these rows are considered as non-empty and won't be removed.
Change-Id: I10ddd22a6c9535b9978769bab7b496e11a28b78a
JsonCodec#encode() is a frequently called (hot) method. However in its
current form it is too long to be inlined.
This review reduces the length of the method from 454 bytes instructions
to 311 and optimises flow of common calls.
It however has a behaviour change for esoteric edge cases where the
order would matter. Like a custom collection which extends JSONArray and
implements collection. Previously it would have been handled by the
collection case, now its the JSONArray case. However it can be assumed
that the result: serialized to valid JSON is the same.
Change-Id: Ia552eec6322d0760581336b8b038fa03761c1d69
Fix for 'Aborting layout after 100 passess' (#13359)
'Aborting layout after 100 passes.' is caused by LayoutManager falling
into a loop on rounding fractional layout slot sizes up and down while
trying to fit layout's content in the space available. LayoutManager
round always up, that causes this issue with IE9+ and Chrome. This
change helps LayoutManager to round fractional sizes down for browsers
that causes problems if rounded up.
Browsers may fall into the loop especially with a zoom level other than
100%. Not with any zoom level though. Problematic zoom level varies by
browser. OrderedLayoutExpandTest uses zoom levels other than 100%. Test
for Chrome is the only one that really is able to reproduce error
without the fix. IE9/10 would too, but the zoom level could not be set
exactly to the required 95% for IE. Test works best as a regression test
for other browsers.
Change-Id: Ie840b074df5fed5ea3b15fba9a6fd372a5c0b76a
Fixed broken OSGi dependencies in vaadin-shared (#13852)
The package com.google.gwt.thirdparty.streamhtmlparser_0.0.10.vaadin1 exports version 0.0.10.vaadin1, not 0.1.5.r10-rebased
Change-Id: I25c2964636d27a172cc83d69c5c0db64155a6fc2
Fix for handling a breakpoint with 0 as the lower bound (#13588)
Added explicit isNaN checks to the results of parseInt function
because JavaScript would always convert 0 to false.
Change-Id: Ic904c321c0195ce50d9a498005459425b0c30d4c
The UI.pushConnection field is transient no longer; instead PushConnection
implementations must take care of serialization internally. When a session
is serialized, the client should notice that push was disconnected and
try to reconnect. A deserialized PushConnection should be in a "disconnected"
state so the eventual client reconnection works correctly.
Change-Id: I38cfc5a5cdbd3643311f830f8d580458dcd85c56