https://bugs.webkit.org/show_bug.cgi?id=100809
ScrollingCoordinator::attachToStateTree() should take an enum 
indicating what type of node to create

Reviewed by Simon Fraser.

New enum ScrollingNodeType will soon have other values, such as 
FixedNode.
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::attachToStateTree):
* page/scrolling/mac/ScrollingCoordinatorMac.h:
(ScrollingCoordinatorMac):

This patch generalizes this function so that it can be used to create 
different types of nodes and so that it is actually ready to create 
child nodes. 
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::attachToStateTree):

The rootStateNode is always a ScrollingNode.
(WebCore::ScrollingCoordinatorMac::ensureRootStateNodeForFrameView):

For the time being, always create a ScrollingNode.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::attachToScrollingCoordinator):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132981 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix issues with filters and reflections
https://bugs.webkit.org/show_bug.cgi?id=100308

Reviewed by Dirk Schulze.

Source/WebCore:

Composited filters were being applied to the wrong CALayer. The code used
primaryLayer(), which may be a CATransformLayer (which filters cannot apply
to; doing so causes console spew), or a CALayer that is used for reflection
flattening, which again is the wrong layer.

Test: css3/filters/composited-reflected.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateContentsVisibility): Replace .get()-> with ->
(WebCore::GraphicsLayerCA::updateContentsOpaque): Ditto.
(WebCore::GraphicsLayerCA::updateFilters): Apply filters to m_layer, not primaryLayer(),
and use m_layerClones, not primaryLayerClones().
(WebCore::GraphicsLayerCA::cloneLayer): When cloning a layer for reflections, copy filters
from the source layer.
* platform/graphics/ca/PlatformCALayer.h:
(PlatformCALayer): Add a member function to copy filters from a supplied layer.
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::setFilters): Remove blank line.
(PlatformCALayer::copyFiltersFrom): Copy CAFIlters from the given layer.
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayer::copyFiltersFrom): Stub; no filters on Windows.

LayoutTests:

Test composited filters inside a nested reflection.

* css3/filters/composited-reflected-expected.png: Added.
* css3/filters/composited-reflected-expected.txt: Added.
* css3/filters/composited-reflected.html: Added.
* platform/mac/css3/filters/composited-reflected-expected.png: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132982 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Delaying 'change' and 'input' event dispatching during HTMLInputElement::setValue
https://bugs.webkit.org/show_bug.cgi?id=100772

Reviewed by Abhishek Arya.

Source/WebCore:

'change' and 'input' events are asynchronous and not
cancelable. We can use ScopedEvent.

Test: fast/forms/range/range-type-change-onchange.html

* dom/Node.cpp:
(WebCore::Node::dispatchChangeEvent): Use dispatchScopedEvent.
(WebCore::Node::dispatchInputEvent): Ditto.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setValue):
Make a scope to delay event dispatching.
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent): Ditto.

LayoutTests:

* fast/forms/range/range-type-change-onchange-expected.txt: Added.
* fast/forms/range/range-type-change-onchange.html: Added.

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