Title: [106711] trunk/Source/WebCore
- Revision
- 106711
- Author
- [email protected]
- Date
- 2012-02-03 17:05:24 -0800 (Fri, 03 Feb 2012)
Log Message
Apply changed properties from the updated scrolling tree state
https://bugs.webkit.org/show_bug.cgi?id=77792
Reviewed by Andreas Kling.
* page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::update):
Update the tree node properties from the scrolling tree state.
* page/scrolling/ScrollingTreeNode.h:
(WebCore::ScrollingTreeNode::scrollingTree):
(WebCore::ScrollingTreeNode::viewportRect):
(WebCore::ScrollingTreeNode::contentsSize):
Add getters.
* page/scrolling/ScrollingTreeState.h:
(WebCore::ScrollingTreeState::changedProperties):
New function for accessing the changed properties of the scrolling tree state.
* page/scrolling/mac/ScrollingTreeNodeMac.h:
* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::update):
Update the scroll layer from the scrolling tree if necessary.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (106710 => 106711)
--- trunk/Source/WebCore/ChangeLog 2012-02-04 00:57:33 UTC (rev 106710)
+++ trunk/Source/WebCore/ChangeLog 2012-02-04 01:05:24 UTC (rev 106711)
@@ -1,3 +1,29 @@
+2012-02-03 Anders Carlsson <[email protected]>
+
+ Apply changed properties from the updated scrolling tree state
+ https://bugs.webkit.org/show_bug.cgi?id=77792
+
+ Reviewed by Andreas Kling.
+
+ * page/scrolling/ScrollingTreeNode.cpp:
+ (WebCore::ScrollingTreeNode::update):
+ Update the tree node properties from the scrolling tree state.
+
+ * page/scrolling/ScrollingTreeNode.h:
+ (WebCore::ScrollingTreeNode::scrollingTree):
+ (WebCore::ScrollingTreeNode::viewportRect):
+ (WebCore::ScrollingTreeNode::contentsSize):
+ Add getters.
+
+ * page/scrolling/ScrollingTreeState.h:
+ (WebCore::ScrollingTreeState::changedProperties):
+ New function for accessing the changed properties of the scrolling tree state.
+
+ * page/scrolling/mac/ScrollingTreeNodeMac.h:
+ * page/scrolling/mac/ScrollingTreeNodeMac.mm:
+ (WebCore::ScrollingTreeNodeMac::update):
+ Update the scroll layer from the scrolling tree if necessary.
+
2012-02-03 Brady Eidson <[email protected]>
<rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp (106710 => 106711)
--- trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp 2012-02-04 00:57:33 UTC (rev 106710)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp 2012-02-04 01:05:24 UTC (rev 106711)
@@ -28,6 +28,8 @@
#if ENABLE(THREADED_SCROLLING)
+#include "ScrollingTreeState.h"
+
namespace WebCore {
ScrollingTreeNode::ScrollingTreeNode(ScrollingTree* scrollingTree)
@@ -39,9 +41,13 @@
{
}
-void ScrollingTreeNode::update(ScrollingTreeState*)
+void ScrollingTreeNode::update(ScrollingTreeState* state)
{
- // FIXME: Update the tree node properties.
+ if (state->changedProperties() & ScrollingTreeState::ViewportRect)
+ m_viewportRect = state->viewportRect();
+
+ if (state->changedProperties() & ScrollingTreeState::ContentsSize)
+ m_contentsSize = state->contentsSize();
}
} // namespace WebCore
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.h (106710 => 106711)
--- trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.h 2012-02-04 00:57:33 UTC (rev 106710)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeNode.h 2012-02-04 01:05:24 UTC (rev 106711)
@@ -28,6 +28,7 @@
#if ENABLE(THREADED_SCROLLING)
+#include "IntRect.h"
#include <wtf/PassOwnPtr.h>
namespace WebCore {
@@ -45,8 +46,15 @@
protected:
explicit ScrollingTreeNode(ScrollingTree*);
+ ScrollingTree* scrollingTree() const { return m_scrollingTree; }
+ const IntRect& viewportRect() const { return m_viewportRect; }
+ const IntSize& contentsSize() const { return m_contentsSize; }
+
private:
ScrollingTree* m_scrollingTree;
+
+ IntRect m_viewportRect;
+ IntSize m_contentsSize;
};
} // namespace WebCore
Modified: trunk/Source/WebCore/page/scrolling/ScrollingTreeState.h (106710 => 106711)
--- trunk/Source/WebCore/page/scrolling/ScrollingTreeState.h 2012-02-04 00:57:33 UTC (rev 106710)
+++ trunk/Source/WebCore/page/scrolling/ScrollingTreeState.h 2012-02-04 01:05:24 UTC (rev 106711)
@@ -54,6 +54,7 @@
};
bool hasChangedProperties() const { return m_changedProperties; }
+ unsigned changedProperties() const { return m_changedProperties; }
const IntRect& viewportRect() const { return m_viewportRect; }
void setViewportRect(const IntRect&);
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.h (106710 => 106711)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.h 2012-02-04 00:57:33 UTC (rev 106710)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.h 2012-02-04 01:05:24 UTC (rev 106711)
@@ -40,6 +40,8 @@
explicit ScrollingTreeNodeMac(ScrollingTree*);
private:
+ virtual void update(ScrollingTreeState*) OVERRIDE;
+
RetainPtr<CALayer> m_scrollLayer;
};
Modified: trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.mm (106710 => 106711)
--- trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.mm 2012-02-04 00:57:33 UTC (rev 106710)
+++ trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.mm 2012-02-04 01:05:24 UTC (rev 106711)
@@ -28,6 +28,8 @@
#if ENABLE(THREADED_SCROLLING)
+#include "ScrollingTreeState.h"
+
namespace WebCore {
PassOwnPtr<ScrollingTreeNode> ScrollingTreeNode::create(ScrollingTree* scrollingTree)
@@ -40,6 +42,14 @@
{
}
+void ScrollingTreeNodeMac::update(ScrollingTreeState* state)
+{
+ ScrollingTreeNode::update(state);
+
+ if (state->changedProperties() & ScrollingTreeState::ScrollLayer)
+ m_scrollLayer = state->platformScrollLayer();
+}
+
} // namespace WebCore
#endif // ENABLE(THREADED_SCROLLING)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes