diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2010-04-14 19:25:38 (GMT) |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2010-04-14 19:25:38 (GMT) |
commit | 840bcb0b56b5b96a81fe3d1d5d91e1477e0fa387 (patch) | |
tree | 98cd64b701728487ce3f54ef734bbe2f4506f71a /src | |
parent | 9415afbd2ca6a4b136ecdc4cb4936e15cc523229 (diff) | |
download | Qt-840bcb0b56b5b96a81fe3d1d5d91e1477e0fa387.zip Qt-840bcb0b56b5b96a81fe3d1d5d91e1477e0fa387.tar.gz Qt-840bcb0b56b5b96a81fe3d1d5d91e1477e0fa387.tar.bz2 |
Updated WebKit from /home/shausman/src/webkit/trunk to qtwebkit/qtwebkit-4.6 ( be2489a618c909c4a82d927f9fff9d12feafeb30 )
Changes in WebKit/qt since the last update:
* http://trac.webkit.org/changeset/50486 -- Allow a frame to go back to copy-on-scroll when it ceases being overlapped
Diffstat (limited to 'src')
-rw-r--r-- | src/3rdparty/webkit/VERSION | 2 | ||||
-rw-r--r-- | src/3rdparty/webkit/WebCore/ChangeLog | 17 | ||||
-rw-r--r-- | src/3rdparty/webkit/WebCore/page/FrameView.cpp | 5 | ||||
-rw-r--r-- | src/3rdparty/webkit/WebCore/page/FrameView.h | 1 | ||||
-rw-r--r-- | src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp | 2 |
5 files changed, 25 insertions, 2 deletions
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index 7c9ea04..8c93308 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -8,4 +8,4 @@ The commit imported was from the and has the sha1 checksum - 14feb62c96ffe2c37e3e2fdac4e370fdbc76ef62 + be2489a618c909c4a82d927f9fff9d12feafeb30 diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index b7e46c7..fa7e4f0 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,20 @@ +2009-11-03 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + Allow a frame to go back to copy-on-scroll when it ceases being overlapped + + The code was not testing slow-scrolling frames for overlappedness, thinking the answer + would not matter. That is not the case if the only reason for the slow-scrolling is + being overlapped. + + * page/FrameView.cpp: + (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any + reason besides being overlapped that the frame would need to fully repaint on scroll. + * page/FrameView.h: + * rendering/RenderWidget.cpp: + (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped(). + 2010-04-09 David Leong <david.leong@nokia.com> Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.cpp b/src/3rdparty/webkit/WebCore/page/FrameView.cpp index 4c3a0ab..cc7d171 100644 --- a/src/3rdparty/webkit/WebCore/page/FrameView.cpp +++ b/src/3rdparty/webkit/WebCore/page/FrameView.cpp @@ -739,6 +739,11 @@ bool FrameView::useSlowRepaints() const return m_useSlowRepaints || m_slowRepaintObjectCount > 0 || (platformWidget() && m_fixedObjectCount > 0) || m_isOverlapped || !m_contentIsOpaque; } +bool FrameView::useSlowRepaintsIfNotOverlapped() const +{ + return m_useSlowRepaints || m_slowRepaintObjectCount > 0 || !m_contentIsOpaque; +} + void FrameView::setUseSlowRepaints() { m_useSlowRepaints = true; diff --git a/src/3rdparty/webkit/WebCore/page/FrameView.h b/src/3rdparty/webkit/WebCore/page/FrameView.h index 5243c02..ed1e6c6 100644 --- a/src/3rdparty/webkit/WebCore/page/FrameView.h +++ b/src/3rdparty/webkit/WebCore/page/FrameView.h @@ -212,6 +212,7 @@ private: friend class RenderWidget; bool useSlowRepaints() const; + bool useSlowRepaintsIfNotOverlapped() const; void applyOverflowToViewport(RenderObject*, ScrollbarMode& hMode, ScrollbarMode& vMode); diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp index 9af7137..ec23603 100644 --- a/src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp +++ b/src/3rdparty/webkit/WebCore/rendering/RenderWidget.cpp @@ -233,7 +233,7 @@ void RenderWidget::paint(PaintInfo& paintInfo, int tx, int ty) else m_widget->paint(paintInfo.context, paintInfo.rect); - if (m_widget->isFrameView() && paintInfo.overlapTestRequests && !static_cast<FrameView*>(m_widget.get())->useSlowRepaints()) { + if (m_widget->isFrameView() && paintInfo.overlapTestRequests && !static_cast<FrameView*>(m_widget.get())->useSlowRepaintsIfNotOverlapped()) { ASSERT(!paintInfo.overlapTestRequests->contains(this)); paintInfo.overlapTestRequests->set(this, m_widget->frameRect()); } |