[CMake] Adopt the WinCE port to new CMake
https://bugs.webkit.org/show_bug.cgi?id=108754

Reviewed by Laszlo Gombos.

.:

Remove the entry point hack which isn't required in the new
CMake version with offical WindowsCE support.

* Source/cmake/OptionsWindows.cmake:

Source/JavaScriptCore:

* os-win32/WinMain.cpp: Removed.
* shell/PlatformWinCE.cmake: Removed.

Tools:

* WinCELauncher/CMakeLists.txt: Mark WinCELauncher
as WIN32 target to use the correct entry point.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixed and sticky nodes have no nodeID set
https://bugs.webkit.org/show_bug.cgi?id=108734

Reviewed by Sam Weinig.

Push ScrollingNodeIDs onto scrolling nodes at construction time, and thereafter
treat them as readonly. Previously, only the root scrolling node would have a node ID.

Node IDs aren't actually used by the scrolling tree yet, but are useful for debugging.

Not testable since we only dump the scrolling state tree, not the scrolling
node tree in tests.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::ScrollingTree): No longer create the root node here;
we can only create it when we know what its ID will be.
(WebCore::ScrollingTree::updateTreeFromStateNode): Create the root node if
necessary. Pass node IDs into create methods.
* page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::ScrollingTreeNode):
* page/scrolling/ScrollingTreeNode.h:
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::ScrollingTreeScrollingNode):
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/mac/ScrollingTreeFixedNode.h:
* page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::create):
(WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNode::create):
(WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
* page/scrolling/mac/ScrollingTreeStickyNode.h:
* page/scrolling/mac/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::create):
(WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141703 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clean up the storage of dirty bits on nodes in the scrolling state tree
https://bugs.webkit.org/show_bug.cgi?id=108744

Reviewed by Sam Weinig.

ScrollingStateNode and its subclasses used different techniques for
tracking which properties changed. ScrollingStateNode tracked its layers
via a bool member and some layer-specific methods, but also had virtual
methods to allow subclasses to track properties via a bit mask.

Clean this up by having the base class store the bit mask, and use
enums to specify bits for the various properties. All properties are thus
tracked in the same way. Bits are read and written through non-virtual member
functions on ScrollingStateNode. All bit checking is done via hasChangedProperty().

* page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::ScrollingStateFixedNode): m_changedProperties is now on the base class.
(WebCore::ScrollingStateFixedNode::updateConstraints): Use setPropertyChanged()
* page/scrolling/ScrollingStateFixedNode.h: Remove overrides that are no longer needed.
* page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::ScrollingStateNode): Initialize m_changedProperties,
m_scrollLayerDidChange no longer tracked separately.
(WebCore::ScrollingStateNode::cloneAndReset):
* page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::hasChangedProperties):
(WebCore::ScrollingStateNode::hasChangedProperty): Tests the bit.
(WebCore::ScrollingStateNode::resetChangedProperties): Set all bits to 0.
(WebCore::ScrollingStateNode::setPropertyChanged): Set the bit.
(WebCore::ScrollingStateNode::changedProperties): Private to discourage incorrect usage
(changeProperties() & foo).
* page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode): Base class does the copying now.
(WebCore::ScrollingStateScrollingNode::setViewportRect): Use setPropertyChanged().
(WebCore::ScrollingStateScrollingNode::setContentsSize): Ditto.
(WebCore::ScrollingStateScrollingNode::setFrameScaleFactor): Etc.
(WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
(WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
(WebCore::ScrollingStateScrollingNode::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingStateScrollingNode::setHorizontalScrollElasticity):
(WebCore::ScrollingStateScrollingNode::setVerticalScrollElasticity):
(WebCore::ScrollingStateScrollingNode::setHasEnabledHorizontalScrollbar):
(WebCore::ScrollingStateScrollingNode::setHasEnabledVerticalScrollbar):
(WebCore::ScrollingStateScrollingNode::setHorizontalScrollbarMode):
(WebCore::ScrollingStateScrollingNode::setVerticalScrollbarMode):
(WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
(WebCore::ScrollingStateScrollingNode::setScrollOrigin):
* page/scrolling/ScrollingStateScrollingNode.h:
(ScrollingStateScrollingNode):
* page/scrolling/ScrollingStateStickyNode.cpp:
(WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::updateConstraints):
* page/scrolling/ScrollingStateStickyNode.h:
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::commitNewTreeState):
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::update):
* page/scrolling/mac/ScrollingStateNodeMac.mm:
(WebCore::ScrollingStateNode::setScrollLayer):
* page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
* page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::update):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::update):
* page/scrolling/mac/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::update):


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