Fix JS error on Grid creation with row template and border

It's possible to call Grid.js#_layoutX before setting the Grid bounds
(width/height). In case of Grid with border this will lead to negative
internal width. What is happening:
- Grid.js#_layoutX sets negative row container width and calls 
Grid.js#_updateScrollWidth.
- Grid.js#_updateScrollWidth calls Grid.js#_getItemWidth to obtain the
width.
- in case of row template, Grid.js#_getItemWidth gets the width from the
row container (negative value).
- Grid.js#_updateScrollWidth sets this negative value as maximum to
horizontal scrollbar and exception is thrown in
AbstractSlider.js#setMaximum

Limit internal width to positive value in Grid.js#_layoutX (similar to
internal height in Grid.js#_layoutY).

442344: [Grid][RowTemplate] Crashes on load with JS error
https://bugs.eclipse.org/bugs/show_bug.cgi?id=442344

Change-Id: I9cc05bad1b1cc3f24cc306868ae67069f2e0ac97
Signed-off-by: Ivan Furnadjiev <ivan@eclipsesource.com>
Add support for markup in Button's text

442592: [Button] Support markup in button text
https://bugs.eclipse.org/bugs/show_bug.cgi?id=442592

Change-Id: I8931796692b04d764ebe3a8375c69baffcc2718f
Signed-off-by: Ivan Furnadjiev <ivan@eclipsesource.com>
Make TabItem color themeable

Add "color" property to TabItem CSS element.
Update default/fallback/business/fancy themes and tests.

Change-Id: I10a68981d43a48432fb228e79d0478712f3e422d
Signed-off-by: Ivan Furnadjiev <ivan@eclipsesource.com>
Updated JavaDoc for MessageFilter

Change-Id: I2548e41b62a27b4d747b1bfc43ea9e60bed88309
Signed-off-by: Matthias Nick <Matthias.Nick@bsiag.com>
Make TabItem background image position/repeat themeable

Add "background-repeat" and "background-position" properties to TabItem
CSS element.
Update default/fallback/business/fancy themes and tests.

Change-Id: I9c0cf84fc3019b36e30a8df4d2525a92378570ef
Signed-off-by: Ivan Furnadjiev <ivan@eclipsesource.com>
Make list item background image position/repeat themeable

Add "background-repeat" and "background-position" properties to
List-Item CSS element.
Update default/fallback/business/fancy themes and tests.

Change-Id: Id6e3d9a8f12e22bf907506617eb6a74d0e3bf7dc
Signed-off-by: Ivan Furnadjiev <ivan@eclipsesource.com>
Fix RWTQuery.spec.js for Firefox and IE

The implementation is actually OK, just had to change how the style
attributes are read from the element.

Change-Id: I1cd58e14e410675e177786a39000c4805f77ddbe
Signed-off-by: Tim Buschtöns <tbuschto@eclipsesource.com>
Refactoring: avoid copying internals in Fixture.fakePhase

Make CurrentPhase.set public instead of copying its internals (i.e.
assembling the service store key) in the test fixture.
This class is internal, so the public method does not hurt.

Change-Id: Ia00df10d4925893e4d3cf7c6d466b45841f11609
Signed-off-by: Ralf Sternberg <rsternberg@eclipsesource.com>
Provide JUnit rule as first official test API

Provide a class TestContext that provides a RAP environment in unit
tests. Instead of using Fixture.setUp() and Fixture.tearDown(), add
this statement to a Test:

    @Rule
    public TestContext context = new TestContext();

The Phase is set to PROCESS_ACTION to enable listeners.

In the future, we could add methods to the TestContext, e.g. to
inject mocks for Connection or RemoteObjects...

Change-Id: Ia05ab7b019ab4051a219e146b78d4c61635ce2a9
Signed-off-by: Ralf Sternberg <rsternberg@eclipsesource.com>
Refactoring: Provide UISession to session singletons

Allow obtaining singleton instances for a given UISession in:

- IdGenerator
- RemoteObjectRegistry

For example, since a Connection is bound to a UISession, it should
access the UISession it is bound to instead of looking it up from the
context.

This reduces coupling and improves testability.

Change-Id: I3ce570c5cba756e2d1b01b7c16c5e2c24115aedf
Signed-off-by: Ralf Sternberg <rsternberg@eclipsesource.com>
Return absolute service handler URLs in ServiceManager again

Using relative service handler URL is problematic in case of URL session
rewrite (disabled session cookies). URL session rewrite requires
absolute URL.

Revert the change https://git.eclipse.org/r/#/c/22518/.

437211: getServiceHandlerURL() missing entrypoint-path without cookie
suport (regression due to Bug#406428)
https://bugs.eclipse.org/bugs/show_bug.cgi?id=437211

Change-Id: Id93e014b004cba8ff2f2a557620c9f0d63032360
Signed-off-by: Ivan Furnadjiev <ivan@eclipsesource.com>
Replace RC4 Eclipse Platform repository with released 4.4.0 repo

The 4.4.0 release repository is identical with the S-4.4RC4 repository
of the Eclipse Platform which has been removed from the download servers
now.

Change-Id: I3b579e6df933a225d8bdfd6b90095695dc5dea12
Signed-off-by: Markus Knauer <mknauer@eclipsesource.com>
Fix resources location URL in JavaScript test runner

With change 33092, service handler URL is made absolute again.

Fix ClientResourcesServiceHandler#getResourceLocation accordingly.

Change-Id: I1f874049d14a12dd7f2d5a137e565aa5a2675790
Signed-off-by: Ivan Furnadjiev <ivan@eclipsesource.com>
Code re-factoring in DocumentHandlerImpl and PropertyResolver

This refactoring is a preparation for supporting different border edges.
As border could be defined by different CSS properties (border,
border-left etc), overriding previous values.
PropertyResolver should support resolving single property from multiple
CSS properties.

Convert PropertyResolver from static utility class to an object and keep
all resolved properties internally, which allow us to merge different
properties.
Change DocumentHandlerImpl accordingly. 

Change-Id: Id98fdfc0cb32281f80257e8588017d4f6dbe4c7c
Signed-off-by: Ivan Furnadjiev <ivan@eclipsesource.com>
Render Combo/CCombo selectionIndex when items changed

Current implementation of Combo/CComboLCA#renderSelectionIndex, based on
text monitoring, does not cover the following scenario:
- combo.setItems( new String[] { "a", "b" } );  combo.select( 0 );
-- in a subsequent request --
- combo.setItems( new String[] { "a" } );  combo.select( 0 );
In this case, the selection index is not rendered to the client as both
selectionIndex and text are unchanged.

Check for items change instead of text for proper detection when
selection index needs to be rendered.

444128: ComboViewer#setSelection does not work always when input changes
https://bugs.eclipse.org/bugs/show_bug.cgi?id=444128

Change-Id: Ida3e214ca2c8291928ef26e5af28660ed4fad0a1
Signed-off-by: Ivan Furnadjiev <ivan@eclipsesource.com>
Code cleanup and refactoring in QxTypes

- rename all QxTypes to CssTypes
- code cleanup and refactoring in CssTypes and their tests
- rafactor CssBorder to use CssColor internally
- change CssBorder.NONE definition:
According to CSS border specification, border without a style is equal
to none border.
Also fix incorrect borders (without style) defined in "business" and
test CSS.

Change-Id: Ib3203fbbf4fcaaac7012b86769527e692670e290
Signed-off-by: Ivan Furnadjiev <ivan@eclipsesource.com>
Merge branch 'master' into gridrefactor

Conflicts:
	tests/org.eclipse.rap.rwt.jstest/js/org/eclipse/rwt/test/spec/RWTQuery.spec.js

Change-Id: I7fe854f0cf194df2010abac7d814e0645b3a77d8