Fix the firing of m_paintRelatedMilestonesTimer
https://bugs.webkit.org/show_bug.cgi?id=116919

Reviewed by Tim Horton.

r150671 intended to change things so that paint-related milestones
only fire when painting has actually happened, so that WebKit clients
are notified when we actually have bits to present.

However, it made an incorrect assumption that painting would happen
inside of flushCompositingState(). This is not the case; flushCompositingState()
will just dirty CALayers, and later on Core Animation will ask us to paint them.

This incorrect assumption meant that we would never start the
m_paintRelatedMilestonesTimer, so never fire the milestones.

Fix by starting the m_paintRelatedMilestonesTimer via the RenderLayerBacking
paintContents call back. At this time we know we're painting, so we can both
set the FrameView's last paint time, and start up the timer. We also only
want to start the timer if there are pending milestones.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::RenderLayerCompositor::didPaintBacking):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150898 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Try to fix window build.
        
Not reviewed.

* platform/graphics/FontCache.h:
(WebCore::FontDescriptionFontDataCacheKey::computeHash):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150899 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Another attempt to fix windows build.
        
Not reviewed.

* css/CSSFontSelector.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150900 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move computed style extraction out of CSSComputedStyleDeclaration.
<http://webkit.org/b/116965>

Reviewed by Antti Koivisto.

Make it possible to get computed CSSValues from a Node without creating a CSSOM
style declaration object.

The bulk of the logic moves to a new class; ComputedStyleExtractor, which can be created
on the stack, and takes the same setup variables as CSSComputedStyleDeclaration.

This is prep to enable futuristic optimizations in editing and elsewhere.

* css/CSSComputedStyleDeclaration.h:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

    Create a ComputedStyleExtractor to do the work!

(WebCore::ComputedStyleExtractor::currentColorOrValidColor):
(WebCore::ComputedStyleExtractor::valueForFilter):
(WebCore::ComputedStyleExtractor::ComputedStyleExtractor):
(WebCore::ComputedStyleExtractor::valueForShadow):
(WebCore::ComputedStyleExtractor::styledNode):
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForShorthandProperties):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForSidesShorthand):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForGridShorthand):
(WebCore::ComputedStyleExtractor::getBackgroundShorthandValue):
* css/SVGCSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::adjustSVGPaintForCurrentColor):
(WebCore::ComputedStyleExtractor::svgPropertyValue):

    Moved all of these from CSSComputedStyleDeclaration to the new class.

* rendering/style/RenderStyle.h:
* svg/SVGPaint.h:

    Have these two befriend ComputedStyleExtractor.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[CSS Shapes] Support parsing inset-rectangle shapes
https://bugs.webkit.org/show_bug.cgi?id=116638

Patch by Bem Jones-Bey <bjonesbe@adobe.com> on 2013-05-29
Reviewed by Dean Jackson.

Source/WebCore:

Add parsing for inset-rectangle. It's very similar to parsing for
rectangle.

No new tests, updated existing tests to cover this.

* css/BasicShapeFunctions.cpp:
(WebCore::valueForBasicShape): Add support for inset rectangles.
(WebCore::basicShapeForValue): Add support for inset rectangles.
* css/CSSBasicShapes.cpp:
(WebCore::buildInsetRectangleString): Create an inset-rectangle css
    string.
(WebCore::CSSBasicShapeInsetRectangle::cssText): Convert inset
    rectangle shape to a CSS string.
(WebCore::CSSBasicShapeInsetRectangle::equals): Compare two inset
    rectangles.
(WebCore::CSSBasicShapeInsetRectangle::serializeResolvingVariables):
    Create an inset rectangle string, with CSS variables resolved.
(WebCore::CSSBasicShapeInsetRectangle::hasVariableReference):
    Determine if this inset rectangle has any CSS Variable references.
* css/CSSBasicShapes.h:
(CSSBasicShapeInsetRectangle): Add inset rectangle class. This is a
    direct representation of the CSS property. All the methods below
    are just simple getters and setters, along with a construtor and a
    factory method.
(WebCore::CSSBasicShapeInsetRectangle::create):
(WebCore::CSSBasicShapeInsetRectangle::top):
(WebCore::CSSBasicShapeInsetRectangle::right):
(WebCore::CSSBasicShapeInsetRectangle::bottom):
(WebCore::CSSBasicShapeInsetRectangle::left):
(WebCore::CSSBasicShapeInsetRectangle::radiusX):
(WebCore::CSSBasicShapeInsetRectangle::radiusY):
(WebCore::CSSBasicShapeInsetRectangle::setTop):
(WebCore::CSSBasicShapeInsetRectangle::setRight):
(WebCore::CSSBasicShapeInsetRectangle::setBottom):
(WebCore::CSSBasicShapeInsetRectangle::setLeft):
(WebCore::CSSBasicShapeInsetRectangle::setRadiusX):
(WebCore::CSSBasicShapeInsetRectangle::setRadiusY):
(WebCore::CSSBasicShapeInsetRectangle::type):
(WebCore::CSSBasicShapeInsetRectangle::CSSBasicShapeInsetRectangle):
(WebCore):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseBasicShapeInsetRectangle): Parse the
    inset-rectangle CSS property and create a
    CSSBasicShapeInsetRectangle.
(WebCore::CSSParser::parseBasicShape): Add a call to parse
    inset-rectangle.
* rendering/ExclusionShapeInsideInfo.cpp:
(WebCore::ExclusionShapeInsideInfo::isEnabledFor): Disable
    inset-rectangles, since only the parsing has been implemented so
    far.
* rendering/ExclusionShapeOutsideInfo.cpp:
(WebCore::ExclusionShapeOutsideInfo::isEnabledFor): Disable
    inset-rectangles, since only the parsing has been implemented so
    far.
* rendering/style/BasicShapes.cpp:
(WebCore::BasicShapeInsetRectangle::path): Calculate the Path for an
    inset-rectangle.
(WebCore::BasicShapeInsetRectangle::blend): Blend two inset rectangles
    together at a point depending on the "progress" and return the
    blended rectangle.
* rendering/style/BasicShapes.h:
(BasicShapeInsetRectangle): Add higher level inset rectangle class.
    This is used outside of the CSS representation. The methods below
    are just simple getters and setters, along with a constructor and
    a factory method.
(WebCore::BasicShapeInsetRectangle::create):
(WebCore::BasicShapeInsetRectangle::top):
(WebCore::BasicShapeInsetRectangle::right):
(WebCore::BasicShapeInsetRectangle::bottom):
(WebCore::BasicShapeInsetRectangle::left):
(WebCore::BasicShapeInsetRectangle::cornerRadiusX):
(WebCore::BasicShapeInsetRectangle::cornerRadiusY):
(WebCore::BasicShapeInsetRectangle::setTop):
(WebCore::BasicShapeInsetRectangle::setRight):
(WebCore::BasicShapeInsetRectangle::setBottom):
(WebCore::BasicShapeInsetRectangle::setLeft):
(WebCore::BasicShapeInsetRectangle::setCornerRadiusX):
(WebCore::BasicShapeInsetRectangle::setCornerRadiusY):
(WebCore::BasicShapeInsetRectangle::type):
(WebCore::BasicShapeInsetRectangle::BasicShapeInsetRectangle):

LayoutTests:

Updated to test for inset-rectangle cases.

* fast/exclusions/parsing/parsing-shape-inside-expected.txt:
* fast/exclusions/parsing/parsing-shape-lengths-expected.txt:
* fast/exclusions/parsing/script-tests/parsing-shape-lengths.js:
* fast/exclusions/parsing/script-tests/parsing-test-utils.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150904 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Support the 'onended' EventListener property for AudioBufferSourceNode and OscillatorNode.
https://bugs.webkit.org/show_bug.cgi?id=116798

Reviewed by Eric Carlson.

Source/WebCore:

Tests: webaudio/audiobuffersource-ended.html
       webaudio/oscillator-ended.html

* Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
(WebCore::AudioScheduledSourceNode::setOnended): Set m_hasEndedListener.
(WebCore::AudioScheduledSourceNode::finish): Call notifyEndedDispatch on the main thread.
(WebCore::AudioScheduledSourceNode::notifyEndedDispatch): Call notifyEnded().
(WebCore::AudioScheduledSourceNode::notifyEnded): Call the onended event listener.
* Modules/webaudio/AudioScheduledSourceNode.h:
(WebCore::AudioScheduledSourceNode::onended): Added boilerplate.
* Modules/webaudio/AudioBufferSourceNode.idl: Added the onerror attribute.
* Modules/webaudio/OscillatorNode.idl: Ditto.

LayoutTests:

* webaudio/audiobuffersource-ended-expected.txt: Added.
* webaudio/audiobuffersource-ended.html: Added.
* webaudio/oscillator-ended-expected.txt: Added.
* webaudio/oscillator-ended.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening, managing accessibility layout tests failures on GTK WK2.

* platform/gtk-wk2/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150906 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Build correction after r150876

A clean build will now fail because the BaseMultipleFieldsDateAndTimeInputType sources have
been removed, but are still referenced in the project file.

* WebCore.vcxproj/WebCore.vcxproj: Remove reference to BaseMultipleFieldsDateAndTimeInputType
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150907 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Datetime string is not centred in form controls.
https://bugs.webkit.org/show_bug.cgi?id=100760

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-05-29
Reviewed by Rob Buis.

BlackBerry PR 343512
Internally Reviewed by Jeff Rogers.

Adjust margin for inner text node of datetime form controls.

* css/themeBlackBerry.css:
(input::-webkit-date-and-time-value):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150908 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Radio Button UX updates.
https://bugs.webkit.org/show_bug.cgi?id=116881

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-05-29
Reviewed by Rob Buis.

BlackBerry PR 342322.
Internally Reviewed by Jeff Rogers.
Change images.

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::RenderThemeBlackBerry::paintRadio):

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