Changeset 67365 in webkit


Ignore:
Timestamp:
Sep 12, 2010 11:24:41 PM (14 years ago)
Author:
commit-queue@webkit.org
Message:

2010-09-12 Robin Qiu <robin.qiu@torchmobile.com.cn>

Reviewed by Antonio Gomes.

https://bugs.webkit.org/show_bug.cgi?id=18768
Fixed a bug in scroll flow. When we don't have scrollbars, we need to
repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as
scrollContents();

  • scrollbars/resources/scrollable-iframe.html: Added.
  • scrollbars/scrollevent-iframe-no-scrolling-expected.txt: Added.
  • scrollbars/scrollevent-iframe-no-scrolling-wheel-expected.txt: Added.
  • scrollbars/scrollevent-iframe-no-scrolling-wheel.html: Added.
  • scrollbars/scrollevent-iframe-no-scrolling.html: Added.

2010-09-12 Robin Qiu <robin.qiu@torchmobile.com.cn>

Reviewed by Antonio Gomes.

https://bugs.webkit.org/show_bug.cgi?id=18768
Fixed a bug in scroll flow. When we don't have scrollbars, we need to
repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as
scrollContents();

Tests: scrollbars/scrollevent-iframe-no-scrolling-wheel.html

scrollbars/scrollevent-iframe-no-scrolling.html

  • page/FrameView.cpp: (WebCore::FrameView::valueChanged): Added.
  • page/FrameView.h: Added a new method.
  • platform/ScrollView.cpp: (WebCore::ScrollView::valueChanged): Added. (WebCore::ScrollView::updateScrollbars):
  • platform/ScrollView.h: Added a new method.
Location:
trunk
Files:
5 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r67364 r67365  
     12010-09-12  Robin Qiu  <robin.qiu@torchmobile.com.cn>
     2
     3        Reviewed by Antonio Gomes.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=18768
     6        Fixed a bug in scroll flow. When we don't have scrollbars, we need to
     7        repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as
     8        scrollContents();
     9
     10        * scrollbars/resources/scrollable-iframe.html: Added.
     11        * scrollbars/scrollevent-iframe-no-scrolling-expected.txt: Added.
     12        * scrollbars/scrollevent-iframe-no-scrolling-wheel-expected.txt: Added.
     13        * scrollbars/scrollevent-iframe-no-scrolling-wheel.html: Added.
     14        * scrollbars/scrollevent-iframe-no-scrolling.html: Added.
     15
    1162010-09-12  Adam Barth  <abarth@webkit.org>
    217
  • trunk/WebCore/ChangeLog

    r67362 r67365  
     12010-09-12  Robin Qiu  <robin.qiu@torchmobile.com.cn>
     2
     3        Reviewed by Antonio Gomes.
     4
     5        https://bugs.webkit.org/show_bug.cgi?id=18768
     6        Fixed a bug in scroll flow. When we don't have scrollbars, we need to
     7        repaintFixedElementsAfterScrolling(), sendScrollEvent() ... as well as
     8        scrollContents();
     9
     10        Tests: scrollbars/scrollevent-iframe-no-scrolling-wheel.html
     11               scrollbars/scrollevent-iframe-no-scrolling.html
     12
     13        * page/FrameView.cpp:
     14        (WebCore::FrameView::valueChanged): Added.
     15        * page/FrameView.h: Added a new method.
     16        * platform/ScrollView.cpp:
     17        (WebCore::ScrollView::valueChanged): Added.
     18        (WebCore::ScrollView::updateScrollbars):
     19        * platform/ScrollView.h: Added a new method.
     20
    1212010-09-10  MORITA Hajime  <morrita@google.com>
    222
  • trunk/WebCore/page/FrameView.cpp

    r67274 r67365  
    17911791}
    17921792
     1793void FrameView::valueChanged(const IntSize& scrollDelta)
     1794{
     1795    ScrollView::valueChanged(scrollDelta);
     1796    frame()->eventHandler()->sendScrollEvent();
     1797    frame()->loader()->client()->didChangeScrollOffset();
     1798}
     1799
    17931800void FrameView::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rect)
    17941801{
  • trunk/WebCore/page/FrameView.h

    r67274 r67365  
    270270    // ScrollBarClient interface
    271271    virtual void valueChanged(Scrollbar*);
     272    virtual void valueChanged(const IntSize&);
    272273    virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&);
    273274    virtual bool isActive() const;
  • trunk/WebCore/platform/ScrollView.cpp

    r67001 r67365  
    311311}
    312312
     313void ScrollView::valueChanged(const IntSize& scrollDelta)
     314{
     315    if (scrollbarsSuppressed())
     316        return;
     317
     318    repaintFixedElementsAfterScrolling();
     319    scrollContents(scrollDelta);
     320}
     321
    313322void ScrollView::setScrollPosition(const IntPoint& scrollPoint)
    314323{
     
    495504    if (scrollDelta != IntSize()) {
    496505       m_scrollOffset = scroll;
    497        scrollContents(scrollDelta);
     506       valueChanged(scrollDelta);
    498507    }
    499508
  • trunk/WebCore/platform/ScrollView.h

    r67001 r67365  
    6363    virtual void setScrollOffsetFromAnimation(const IntPoint&);
    6464    virtual void valueChanged(Scrollbar*);
     65    virtual void valueChanged(const IntSize&);
    6566   
    6667    // The window thats hosts the ScrollView. The ScrollView will communicate scrolls and repaints to the
Note: See TracChangeset for help on using the changeset viewer.