Changeset 50665 in webkit


Ignore:
Timestamp:
Nov 9, 2009 9:54:30 AM (14 years ago)
Author:
eric@webkit.org
Message:

2009-11-09 Mark Mentovai <mark@chromium.org>

Reviewed by Dan Bernstein.

rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
REGRESSION (r48064): mint.com loses scrollbars after coming out of
edit mode.

rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.

  • fast/overflow/scrollbar-restored-expected.txt: Added.
  • fast/overflow/scrollbar-restored.html: Added.

2009-11-09 Mark Mentovai <mark@chromium.org>

Reviewed by Dan Bernstein.

Track "can have scrollbar" state within FrameView independently of the
individual scrollbar states in ScrollView.

rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
REGRESSION (r48064): mint.com loses scrollbars after coming out of
edit mode.

rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.

Test: fast/overflow/scrollbar-restored.html

  • WebCore.base.exp:
  • page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::setCanHaveScrollbars): (WebCore::FrameView::updateCanHaveScrollbars): (WebCore::FrameView::layout):
  • page/FrameView.h:
  • platform/ScrollView.h:

2009-11-09 Mark Mentovai <mark@chromium.org>

Reviewed by Dan Bernstein.

Track "can have scrollbar" state within FrameView independently of the
individual scrollbar states in ScrollView.

rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
REGRESSION (r48064): mint.com loses scrollbars after coming out of
edit mode.

rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.

Test: fast/overflow/scrollbar-restored.html

  • WebView/WebFrameView.mm: (-[WebFrameView _install]):

2009-11-09 Mark Mentovai <mark@chromium.org>

Reviewed by Dan Bernstein.

Track "can have scrollbar" state within FrameView independently of the
individual scrollbar states in ScrollView.

rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
REGRESSION (r48064): mint.com loses scrollbars after coming out of
edit mode.

rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.

Test: fast/overflow/scrollbar-restored.html

  • Api/qwebframe.cpp: (QWebFrame::setScrollBarPolicy):
Location:
trunk
Files:
2 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r50664 r50665  
     12009-11-09  Mark Mentovai  <mark@chromium.org>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
     6        REGRESSION (r48064): mint.com loses scrollbars after coming out of
     7        edit mode.
     8
     9        rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
     10        REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
     11
     12        * fast/overflow/scrollbar-restored-expected.txt: Added.
     13        * fast/overflow/scrollbar-restored.html: Added.
     14
    1152009-11-09  Keishi Hattori  <casey.hattori@gmail.com>
    216
  • trunk/WebCore/ChangeLog

    r50664 r50665  
     12009-11-09  Mark Mentovai  <mark@chromium.org>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Track "can have scrollbar" state within FrameView independently of the
     6        individual scrollbar states in ScrollView.
     7
     8        rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
     9        REGRESSION (r48064): mint.com loses scrollbars after coming out of
     10        edit mode.
     11
     12        rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
     13        REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
     14
     15        Test: fast/overflow/scrollbar-restored.html
     16
     17        * WebCore.base.exp:
     18        * page/FrameView.cpp:
     19        (WebCore::FrameView::FrameView):
     20        (WebCore::FrameView::resetScrollbars):
     21        (WebCore::FrameView::setCanHaveScrollbars):
     22        (WebCore::FrameView::updateCanHaveScrollbars):
     23        (WebCore::FrameView::layout):
     24        * page/FrameView.h:
     25        * platform/ScrollView.h:
     26
    1272009-11-09  Keishi Hattori  <casey.hattori@gmail.com>
    228
  • trunk/WebCore/WebCore.base.exp

    r50512 r50665  
    689689__ZN7WebCore9FrameView22setBaseBackgroundColorENS_5ColorE
    690690__ZN7WebCore9FrameView23layoutIfNeededRecursiveEv
     691__ZN7WebCore9FrameView23updateCanHaveScrollbarsEv
    691692__ZN7WebCore9FrameView29forceLayoutWithPageWidthRangeEffb
    692693__ZN7WebCore9FrameView29setShouldUpdateWhileOffscreenEb
  • trunk/WebCore/page/FrameView.cpp

    r50580 r50665  
    106106FrameView::FrameView(Frame* frame)
    107107    : m_frame(frame)
     108    , m_canHaveScrollbars(true)
    108109    , m_slowRepaintObjectCount(0)
    109110    , m_layoutTimer(this, &FrameView::layoutTimerFired)
     
    220221    m_firstLayout = true;
    221222    setScrollbarsSuppressed(true);
    222     setScrollbarModes(ScrollbarAuto, ScrollbarAuto);
     223    if (m_canHaveScrollbars)
     224        setScrollbarModes(ScrollbarAuto, ScrollbarAuto);
     225    else
     226        setScrollbarModes(ScrollbarAlwaysOff, ScrollbarAlwaysOff);
    223227    setScrollbarsSuppressed(false);
    224228}
     
    315319    // make it update the rendering area when set
    316320    m_margins.setHeight(h);
     321}
     322
     323void FrameView::setCanHaveScrollbars(bool canHaveScrollbars)
     324{
     325    m_canHaveScrollbars = canHaveScrollbars;
     326    ScrollView::setCanHaveScrollbars(canHaveScrollbars);
     327}
     328
     329void FrameView::updateCanHaveScrollbars()
     330{
     331    ScrollbarMode hMode;
     332    ScrollbarMode vMode;
     333    scrollbarModes(hMode, vMode);
     334    if (hMode == ScrollbarAlwaysOff && vMode == ScrollbarAlwaysOff)
     335        m_canHaveScrollbars = false;
     336    else
     337        m_canHaveScrollbars = true;
    317338}
    318339
     
    563584    ScrollbarMode hMode;
    564585    ScrollbarMode vMode;
    565     scrollbarModes(hMode, vMode);
     586    if (m_canHaveScrollbars) {
     587        hMode = ScrollbarAuto;
     588        vMode = ScrollbarAuto;
     589    } else {
     590        hMode = ScrollbarAlwaysOff;
     591        vMode = ScrollbarAlwaysOff;
     592    }
    566593
    567594    if (!subtree) {
  • trunk/WebCore/page/FrameView.h

    r50486 r50665  
    7373    void setMarginHeight(int);
    7474
     75    virtual void setCanHaveScrollbars(bool);
     76    void updateCanHaveScrollbars();
     77
    7578    virtual PassRefPtr<Scrollbar> createScrollbar(ScrollbarOrientation);
    7679
     
    259262    bool m_doFullRepaint;
    260263   
     264    bool m_canHaveScrollbars;
    261265    bool m_useSlowRepaints;
    262266    bool m_isOverlapped;
  • trunk/WebCore/platform/ScrollView.h

    r49804 r50665  
    9090    ScrollbarMode horizontalScrollbarMode() const { ScrollbarMode horizontal, vertical; scrollbarModes(horizontal, vertical); return horizontal; }
    9191    ScrollbarMode verticalScrollbarMode() const { ScrollbarMode horizontal, vertical; scrollbarModes(horizontal, vertical); return vertical; }
    92     void setCanHaveScrollbars(bool flag);
     92    virtual void setCanHaveScrollbars(bool);
    9393    bool canHaveScrollbars() const { return horizontalScrollbarMode() != ScrollbarAlwaysOff || verticalScrollbarMode() != ScrollbarAlwaysOff; }
    9494
  • trunk/WebKit/mac/ChangeLog

    r50636 r50665  
     12009-11-09  Mark Mentovai  <mark@chromium.org>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Track "can have scrollbar" state within FrameView independently of the
     6        individual scrollbar states in ScrollView.
     7
     8        rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
     9        REGRESSION (r48064): mint.com loses scrollbars after coming out of
     10        edit mode.
     11
     12        rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
     13        REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
     14
     15        Test: fast/overflow/scrollbar-restored.html
     16
     17        * WebView/WebFrameView.mm:
     18        (-[WebFrameView _install]):
     19
    1202009-11-08  Dan Bernstein  <mitz@apple.com>
    221
  • trunk/WebKit/mac/WebView/WebFrameView.mm

    r48064 r50665  
    274274        // Now the render part owns the view, so we don't any more.
    275275    }
     276
     277    view->updateCanHaveScrollbars();
    276278}
    277279
  • trunk/WebKit/qt/Api/qwebframe.cpp

    r50288 r50665  
    868868        if (d->frame->view()) {
    869869            d->frame->view()->setHorizontalScrollbarMode((ScrollbarMode)policy);
     870            d->frame->view()->updateCanHaveScrollbars();
    870871        }
    871872    } else {
     
    873874        if (d->frame->view()) {
    874875            d->frame->view()->setVerticalScrollbarMode((ScrollbarMode)policy);
     876            d->frame->view()->updateCanHaveScrollbars();
    875877        }
    876878    }
  • trunk/WebKit/qt/ChangeLog

    r50661 r50665  
     12009-11-09  Mark Mentovai  <mark@chromium.org>
     2
     3        Reviewed by Dan Bernstein.
     4
     5        Track "can have scrollbar" state within FrameView independently of the
     6        individual scrollbar states in ScrollView.
     7
     8        rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
     9        REGRESSION (r48064): mint.com loses scrollbars after coming out of
     10        edit mode.
     11
     12        rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
     13        REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
     14
     15        Test: fast/overflow/scrollbar-restored.html
     16
     17        * Api/qwebframe.cpp:
     18        (QWebFrame::setScrollBarPolicy):
     19
    1202009-11-09  Benjamin Poulain  <benjamin.poulain@nokia.com>
    221
Note: See TracChangeset for help on using the changeset viewer.