Henri Sara [Mon, 4 Aug 2014 05:23:01 +0000 (08:23 +0300)]
Increase TB3 socket timeout to 30 min (#14352)
This increases the timeout from 15 to 30 minutes to avoid
occasional timeouts at times of test cluster congestion.
The timeout was originally reduced for #14298.
Fix inconsistent rendering between Valo’s bundled Open Sans vs. Google
Fonts provided Open Sans versions on Windows (DirectWrite).
The previous bundled font was generated with Font Squirrel Webfont
Generator with some additional optimizations on (the “Fix GASP Table”
option most likely), which caused the inconsistencies. The new version
is converted with the basic options (most straightforward conversion).
Artur Signell [Wed, 30 Jul 2014 07:53:28 +0000 (07:53 +0000)]
Allow changing theme on the fly (#2874, #14139, #14124)
* Updates UI and overlay container class names when the theme changes
* Initially verifies that the theme has actually been loaded (for the embed case)
and class names have been properly set
* Forces a state change to all components to re-translate theme:// URLs
* Runs a full layout after the new theme has been loaded and activated
Artur Signell [Mon, 28 Jul 2014 11:52:26 +0000 (14:52 +0300)]
Disable automatic removal of trailing whitespace and reformatted using Luna
Automatic removal of trailing whitespaces in Eclipse does not work even
in a nearly consistent way across platforms, versions or even on the same
maching within the same workspaces. Saving the same file multiple times
even alternates between adding and removing a whitespace on empty block
comment lines when saving.
Markus Koivisto [Wed, 30 Jul 2014 14:28:41 +0000 (17:28 +0300)]
Fix typo that caused spanned cells to be removed in Gridlayout (#14335)
Gridlayout removes columns and rows with no content. Gridlayout is
supposed to check for spanned cells and not remove otherwise empty rows
or columns if they are covered by a span.
TextArea size get reset when css resize is set (#14080)
Listen to MouseUp event on the <textarea> and notify the state with the width and height if changed.
Add com.vaadin.client.Util.Size to manipulates the css width/height.
Bottom component click scroll up the parent panel in a window (#12943)
Due to old fix for (#11994) the v-scrollable div of the window would
expand to 110% of its size then immediately back to the original size.
The first action, expanding the v-scrollable to 110% would decrease
the scrollTop value of our panel, while increasing its height. When
the revert back action would set the v-scrollable to its own size,
the panel's scrollTop would remain decreased, causing the scroll bar
to move up, hiding the ~10% at the bottom.
Fixed by calling Util.runWebkitOverflowAutoFix(); instead of changing
the height.
With this patch, the theme-and-default-widgetset target finishes in 50
seconds, whereas it takes about 80 seconds without the patch. This
happens at the cost of peak memory usage rising from ~750mb to ~850mb.
Export fetchRootConfig status so it can be read by TK (#14053)
Offline apps need to know when server errors are 500 or 400 in
order to switch appropriatelly to the offline mode.
Also we need exported the fetchRootConfig method and a
reliable way to get loaded apps.
Related with change I29635982514071e63221a9771d6729da14273ad3 [1]
see temporal workaround in TouchKitServlet
[1] https://dev.vaadin.com/review/#/c/4037/
Fabian Lange [Fri, 11 Jul 2014 22:00:41 +0000 (00:00 +0200)]
Improves performance of VaadinService.requestEnd(). (#14218)
Doing two times session.accessSynchronously is unnecessary effort in
multiple aspects:
* The session will be locked twice.
* CurrentInstances are set twice.
* CurrentInstances are restored twice.
* VaadinSession being checked for being the current via
VaadinService.verifyNoOtherSessionLocked(this);
When we leave requestEnd we unset all CurrentInstances. There is no need
to just restore them before doing so.
When we are in requestEnd, VaadinSession is set to "current" by
PushHandler.callWithUi() or VaadinService.handleRequest().
Also, the cleanupSession code does not need any of these thread locals,
so not having them set would also not hurt.
having an extra accessSynchronously call for just setting the duration
does not make a lot of sense. While it somehow wants to make the previous
accessSynchronously call to be counted completely into the duration it
invests an the same time that would have been left out additionally.
VaadinService removeClosedUIs is a cleanup which also locks and sets
CurrentInstances just to figure out that the UI it is checking is not
closing. This change moves that check out of ui.accessSynchronously.
In the end, the resulting code is a tiny bit less robust, however it
eliminates over 50% response time on trivial push request/responses.
Fabian Lange [Sat, 12 Jul 2014 19:44:09 +0000 (21:44 +0200)]
Optimizes initial sizes of frequently used Collections. (#14223)
There are a few places in frequently used core classes which could
initialize collection classes with the correct (or slightly oversized)
length.
Maps are initialized with 2x the size due to its load factor.
Fabian Lange [Sat, 12 Jul 2014 19:09:32 +0000 (21:09 +0200)]
Optimize CurrentInstance.set(UI) and .set(VaadinSession). (#14220)
This change reduces the amount of intermediate steps taken to initialize
the thread locals for a given ui or vaadin session.
It mainly takes advantage of reusing the old values from the map in set()
instead of creating new ones to put into the "old" map which is returned.
Fabian Lange [Fri, 11 Jul 2014 21:43:03 +0000 (23:43 +0200)]
removes extra VaadinSession.setCurrent() from PushHandler. (#14222)
The setCurrent call on VaadinSession is not needed. the one extra call
can be saved because service.findVaadinSession will already set it.
Added a comment like it is done for UI (service.findUI will also set the
UI).
Fabian Lange [Wed, 9 Jul 2014 14:23:43 +0000 (16:23 +0200)]
Fix overwrite mechanism for web.xml atmosphere init params (#14196).
Non obvious problem before. "config" is a property of AtmosphereFramework
which also has getInitParameter(String) method. So it compiles but does
not do what is intended: to check against the user defined web.xml
servlet init-prams.
(the variableName servletConfig has the same problem :-))
Box and unbox long values in state fields (#14176)
We actually want to pass around the primitive long values emulated by
GWT even though JavaScript code can't do anything with the values.
Skipping the unboxing caused long fields to always be 0 since that's how
JavaScript converts an object into a number.
This patch also makes the test assert that the expected state values are
received and updates those values to actually make sense in some
situations.
Return a value on __gwtStatsEvent in Profiler (#11709)
Calling GWT RPC throw an exception when __gwtStatsEvent doesn't return
a boolean. This was in the Profiler.ensureNoLogger where the function
assigned was empty.
Fabian Lange [Thu, 3 Jul 2014 21:52:05 +0000 (23:52 +0200)]
Avoid object creation in getAllChildrenIterable in most cases. (#14142)
API change from:
public static Iterable<ClientConnector> getAllChildrenIterable(final ClientConnector connector)
to
public static Iterable<? extends ClientConnector> getAllChildrenIterable(final ClientConnector connector)
avoids creating wrappers in case the component has either no subcomponents
or no extensions. This covers the vast majority of components.
Sauli Tähkäpää [Fri, 27 Jun 2014 06:39:04 +0000 (09:39 +0300)]
Change DateFieldReadOnlyTest to use a initial reference instead of reusing readonly reference.
Reusing the readonly reference causes weird test results when the first
comparison fails and the second one succeeds: the build will fail but errors
shots have been deleted because the second comparison succeeded.
Jouni Koivuviita [Thu, 26 Jun 2014 09:34:12 +0000 (12:34 +0300)]
box-shadow should have -webkit prefix (#14093)
Mass find-and-replace, tested to work as before in Chrome, and that the
output now includes box -webkit-box-shadow as well as box-shadow.
Bourbon needed to be imported before the css3 utils, so that the
box-shadow mixin can be overridden (Bourbon prints a warning as it has
already deprecated box-shadow prefixes).