[EFL] Fuzzy load the Edje theme for HTML forms
https://bugs.webkit.org/show_bug.cgi?id=95832

Reviewed by Antonio Gomes.

Change the theme so that it is first loaded when actually used.
This also fixed the case that it was impossible to change theme
a second time.

Tested by current tests. API unit test coming in separate patch.

* platform/efl/RenderThemeEfl.cpp:
(WebCore):

    Add some convenience macros.

       (WebCore::applyColorCallback):

    Use just one callback from the edje theme, which just calls
    setColorFromThemeClass.

(WebCore::fillColorsFromEdjeClass):

    Add convenience method for receiving colors from Edje and
    storing them in Color's.

(WebCore::RenderThemeEfl::setColorFromThemeClass):

    Set the class Color variabled with the values from the theme
    color class.

(WebCore::RenderThemeEfl::setThemePath):

    Don't apply the theme immediately.

(WebCore::RenderThemeEfl::loadTheme):

    Load the new theme and free the current one. If it fails,
    it will continue using the old one, if exists.

(WebCore::RenderThemeEfl::adjustSizeConstraints):
(WebCore::RenderThemeEfl::themePartCacheEntryReset):
(WebCore::RenderThemeEfl::cacheThemePartNew):
(WebCore::RenderThemeEfl::paintThemePart):
(WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
(WebCore::RenderThemeEfl::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeEfl::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeEfl::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeEfl::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeEfl::platformFocusRingColor):

    Ensure the theme is loaded.

(WebCore::RenderThemeEfl::adjustCheckboxStyle):
(WebCore::RenderThemeEfl::adjustRadioStyle):
(WebCore::RenderThemeEfl::emitMediaButtonSignal):

    Ensure the theme is loaded.

* platform/efl/RenderThemeEfl.h:
(RenderThemeEfl):
(WebCore::RenderThemeEfl::loadThemeIfNeeded):

    Remove unneeded methods and add a method for loading a theme
    in the case it is not loaded yet.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Split platform geometry types into separate static target
https://bugs.webkit.org/show_bug.cgi?id=96021

Reviewed by Tony Chang.

This moves several WebCore/platform geometry classes out of webcore_platform into a separate static library.
This library is relatively standalone and useful to statically link against in other contexts.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127787 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Remove failures for acceletared-drawing tests.

Unreviewed.

Update chromium TestExpectations to remove failures for accelerated-painting.
They were fixed in r127294.

* platform/chromium/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127788 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Remove contentsScale and related logic from GraphicsLayerChromium.
https://bugs.webkit.org/show_bug.cgi?id=95094

Patch by Jeff Timanus <twiz@chromium.org> on 2012-09-06
Reviewed by Adrienne Walker.

Source/Platform:

In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class.  This is a first pass to
try to remove the page-scale logic from GraphicsLayerChromium.  This change should be a no-op in terms of
contentsScale behaviour.

* chromium/public/WebContentLayer.h:
(WebContentLayer):
    Export setBoundsContainPageScale() family of routines.

Source/WebCore:

In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class.  This is a first pass to
try to remove the page-scale logic from GraphicsLayerChromium.  This change should be a no-op in terms of
contentsScale behaviour.

Testing covered by existing compositor layout and unit tests.

* platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::setAppliesPageScale):
(WebCore::GraphicsLayer::appliesPageScale):
    These routines are now virtual, so that they can push the notification to setDisregardsContentsScale in
    LayerChromium.
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setSize):
(WebCore::GraphicsLayerChromium::setTransform):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
(WebCore):
(WebCore::GraphicsLayerChromium::setAppliesPageScale):
(WebCore::GraphicsLayerChromium::appliesPageScale):
    Now forwards the appliesPageScaleStatus to the owned layer.
* platform/graphics/chromium/GraphicsLayerChromium.h:
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::contentsLayer):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setContentsScale):
(WebCore):
(WebCore::LayerChromium::setBoundsContainPageScale):
    setAppliesPageScale is renamed to setBoundsContainPageScale in LayerChromium.
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
(WebCore::LayerChromium::boundsContainPageScale):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore):
(WebCore::setScale):
(WebCore::updateLayerScale):
(WebCore::CCLayerTreeHost::updateLayers):
    The contents scale of a layer is now applied in this routine.

Source/WebKit/chromium:

In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class.  This is a first pass to
try to remove the page-scale logic from GraphicsLayerChromium.  This change should be a no-op in terms of
contentsScale behaviour.
This change exports the disregardsPageScale() set of functions from WebContentLayer to LayerChromium.

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
    Inform the layer associated with the NCCH that it is to disregard the page scale factor.
    Also remove now unused m_deviceScaleFactor and associated routines.
(WebKit::NonCompositedContentHost::setViewport):
* src/NonCompositedContentHost.h:
(NonCompositedContentHost):
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::setBoundsContainPageScale):
(WebKit):
(WebKit::WebContentLayerImpl::boundsContainPageScale):
* src/WebContentLayerImpl.h:
(WebContentLayerImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::updateLayerTreeViewport):
* tests/CCLayerTreeHostTest.cpp:
(NoScaleContentLayerChromium):
(WebKitTests::NoScaleContentLayerChromium::create):
(WebKitTests::NoScaleContentLayerChromium::NoScaleContentLayerChromium):
(WebKitTests):
(WebKitTests::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers):
    Rebaselined to correspond to the new behaviour.  Because the layers are now assigned a contentsScale, the
    scale on the draw transforms remain identity.
* tests/GraphicsLayerChromiumTest.cpp:
(WebKit): Remove now obsolete unit-test.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@127789 268f45cc-cd09-0410-ab3c-d52691b4dbfc