Omit empty hierarchy data from the response (#18510)
Reduces the payload size for the "Update all labels" action with 40
layouts in BasicPerformanceTest by 16% (from 11087 to 9270 bytes). The
reduction is improved to 22% (1855 to 1455) if the response is gzipped
since the omited data doesn't compress very well.
Change-Id: I1d2837c93222fffa59b14836f162e3e87349e086
Move capability handling from MultiBrowserTest to super class
Capabilities should be set the same way in SingleBrowserTests as well,
not just MultiBrowserTests.
Change-Id: Ifed8534b87bbe45fd90fe0e7110e26a5344c5540
Fix the commands in some TB2 tests broken by the test change
from #19227.
Screenshots of several calendar tests including these also
need to be updated.
Change-Id: I3bb000fccb9772ffe5be4ceebb599cc7c1f9697f
Isolate text selection blocking to Grid instead of body element (#16838)
Some themes are more explicit with user-select rules, and doing this on
the level of body element does not work with said themes. To make all
the themes behave the same way, we only block selection inside of Grid.
Change-Id: Iaf24fede88e4bc683e065c214e7baf3f545c99c9
Prevent text selection while DnD resizing columns (#16838)
This patch uses a JavaScript workaround to prevent text selection in IE8
and IE9 and Safari.
The selection is prevented everywhere in the DOM while a column is
resizing.
Change-Id: I1e7b9cdc675c83a9666493d8545337d601e40077
Serializing an object should never modify its internal state.
It should be possible to serialize an object multiple times and get
the same result
Change-Id: I983e2eec1b3fb374bf40f150bdb9918ac5791d62
Specify custom first day of week for Calendar #19227
Added possibility to provide first day of week independent of Locale.
(the Calendar code has been reformatted according to Eclipse 'Save
action'). Unit-tests added. UI test extended.
Change-Id: I3e3531228c139ce2014a1227e47c12e7896a6f87
Adds functions for skipping child component layout measuring.
Removes unnecessary code from VScrollTable.
1. case: no components
- render time without the fix: ~105ms
- render time with fix: ~105ms
2. case: 2 button and 2 textfield cols
- render time without the fix: ~279ms
- render time with fix: ~240ms (~17% faster)
3. case: 3 button and 3 textfield cols
- render time without the fix: ~350ms
- render time with fix: ~281ms (~20% faster)
Change-Id: I6025f8ee2fd438d228ff3b65f43535961cf12c0b
Previously grid sidebar could be partially hidden by
"overflow: hidden" of an ancestor component.
Now it's in an overlay and the hierarchy doesn't affect it.
Grid tests were also updated for new DOM structure.
Change-Id: Ic5fb125d9c097be0f0141c121dfe74d30e650dd0
Force FormLayout children to shrink with the layout (#11154)
The <table> used by the FormLayout doesn't reduce its size if any child
component has locked its own size (which is the case with e.g. Table and
some other components doing explicit pixel calculations). To work around
this, we need to detect the situation, force the <table> to reduce its
width by temporarily assigning explicit widths to the cells and then
remove the forced size after all children have adjusted.
Change-Id: Iacef62979acf24c869a5cbeb82efb0c1e537ec95
Touch long tap context click emulation improvements (#19222)
Removed Android handling since it already fires a context menu event
when not selecting text. Increased the threshold for iOS move. Prevent
some browser default functionality on TouchEnd after sending context
click event to server.
Change-Id: I9297a5738e593a260b50ba176d483fbdd3293ba3
Calculation of the frozen column width was wrong in multiselect mode.
It did not take into account the last frozen column, but added
the select column twice.
The same problem was in AutoScroller (as the same methods were
copy-pasted there), for which reason the autoscrolling was not
scrolling till the end.
This patch fixes the calculation error and removes copy-pasted code,
reusing the same code in both places.
Change-Id: I164e2fc96688088b620ad8785c533c593723f83e
Removing a widget that got moved to another layout occasionally caused
slot to lose track of related widget. As a result the layout never
created a new slot when the same widget is put back in there.
Change-Id: I0d8793324b8a5ac8a06aa2803ac8de22b90b7545
Fix TreeTableContextClickTest to not scroll vertically on IE
Too wide TreeTable in a UI causes IE to scroll vertically making
calculated positions fail miserably. Also makes context clicking in
AbstractContextClickTest avoid StaleElementReferenceExceptions.
Change-Id: Ic4f5049bf0c221eb441813d202b9de5571e655d6
Touchstart events now fire a contextclick event if there is a context
click listener.
Refactored sendContextClickEvent to accomodate the change.
Change-Id: I9bce5948f89149e9ecb261cfd8ae918470ccec3e
This change makes it possible to create an injectable subclass of
the navigator by providing a protected no-args constructor and a
separate initialization method.
Change-Id: I7d55fca2a84570d47e2767b0fb81a82e0732fd21
The Spring, CDI etc. add-ons need hook points that permit switching
contexts at the right time. This was very hard to do due to the
monolithic nature of navigateTo() - beforeViewChange() is too early
and can be cancelled, afterViewChange() is too late.
Change-Id: I66ffbafe1597b782b4feaf2ebd0de3ca1941a9ae