Changeset 92238 in webkit


Ignore:
Timestamp:
Aug 2, 2011 3:11:30 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

Chromium: Update forked ScrollbarThemeChromiumMac.mm
https://bugs.webkit.org/show_bug.cgi?id=65555

Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.

Patch by Sailesh Agrawal <sail@chromium.org> on 2011-08-02
Reviewed by James Robinson.

  • platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
  • platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:

(wkScrollbarPainterSetEnabled):

  • platform/chromium/ScrollbarThemeChromiumMac.h:

(WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):

  • platform/chromium/ScrollbarThemeChromiumMac.mm:

(WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
(WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
(WebCore::toScrollbarPainterKnobStyle):
(WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
(WebCore::ScrollbarThemeChromiumMac::paint):

Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r92237 r92238  
     12011-08-02  Sailesh Agrawal  <sail@chromium.org>
     2
     3        Chromium: Update forked ScrollbarThemeChromiumMac.mm
     4        https://bugs.webkit.org/show_bug.cgi?id=65555
     5
     6        Merge recent changes to ScrollbarThemeMac.mm to ScrollbarThemeChromiumMac.mm.
     7
     8        Reviewed by James Robinson.
     9
     10        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h:
     11        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm:
     12        (wkScrollbarPainterSetEnabled):
     13        * platform/chromium/ScrollbarThemeChromiumMac.h:
     14        (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
     15        * platform/chromium/ScrollbarThemeChromiumMac.mm:
     16        (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
     17        (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
     18        (WebCore::toScrollbarPainterKnobStyle):
     19        (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
     20        (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
     21        (WebCore::ScrollbarThemeChromiumMac::paint):
     22
    1232011-08-02  Mark Pilgrim  <pilgrim@chromium.org>
    224
  • trunk/Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h

    r89326 r92238  
    6262int wkScrollbarMinimumThumbLength(WKScrollbarPainterRef);
    6363void wkScrollbarPainterSetDelegate(WKScrollbarPainterRef, id scrollbarPainterDelegate);
     64void wkScrollbarPainterSetEnabled(WKScrollbarPainterRef, bool enabled);
    6465CGFloat wkScrollbarPainterTrackAlpha(WKScrollbarPainterRef);
    6566WKScrollbarPainterRef wkMakeScrollbarPainter(int controlSize, bool isHorizontal);
  • trunk/Source/WebCore/platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm

    r89326 r92238  
    188188}
    189189
     190void wkScrollbarPainterSetEnabled(WKScrollbarPainterRef painter, bool enabled)
     191{
     192    [painter setEnabled:enabled];
     193}
     194
    190195CGFloat wkScrollbarPainterTrackAlpha(WKScrollbarPainterRef painter)
    191196{
  • trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.h

    r89326 r92238  
    4141    virtual ~ScrollbarThemeChromiumMac();
    4242
     43    virtual void updateEnabledState(Scrollbar*);
     44
    4345    virtual bool paint(Scrollbar*, GraphicsContext* context, const IntRect& damageRect);
    4446
     
    4749    virtual bool supportsControlTints() const { return true; }
    4850    virtual bool usesOverlayScrollbars() const;
     51    virtual void updateScrollbarOverlayStyle(Scrollbar*);
    4952
    5053    virtual double initialAutoscrollTimerDelay();
     
    6770    virtual IntRect trackRect(Scrollbar*, bool painting = false);
    6871
     72    virtual int maxOverlapBetweenPages() { return 40; }
     73
    6974    virtual int minimumThumbLength(Scrollbar*);
    7075
  • trunk/Source/WebCore/platform/chromium/ScrollbarThemeChromiumMac.mm

    r91442 r92238  
    164164    WKScrollbarPainterRef scrollbarPainter = wkMakeScrollbarPainter(scrollbar->controlSize(), isHorizontal);
    165165    scrollbarMap()->add(scrollbar, scrollbarPainter);
     166    updateEnabledState(scrollbar);
     167    updateScrollbarOverlayStyle(scrollbar);
    166168}
    167169
     
    174176{
    175177    scrollbarMap()->set(scrollbar, newPainter);
     178    updateEnabledState(scrollbar);
     179    updateScrollbarOverlayStyle(scrollbar);
    176180}
    177181
     
    219223    else
    220224        return false;
     225}
     226
     227static inline wkScrollerKnobStyle toScrollbarPainterKnobStyle(ScrollbarOverlayStyle style)
     228{
     229    switch (style) {
     230    case ScrollbarOverlayStyleDark:
     231        return wkScrollerKnobStyleDark;
     232    case ScrollbarOverlayStyleLight:
     233        return wkScrollerKnobStyleLight;
     234    default:
     235        return wkScrollerKnobStyleDefault;
     236    }
     237}
     238
     239void ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle(Scrollbar* scrollbar)
     240{
     241    if (isScrollbarOverlayAPIAvailable()) {
     242        wkSetScrollbarPainterKnobStyle(painterForScrollbar(scrollbar), toScrollbarPainterKnobStyle(scrollbar->scrollableArea()->scrollbarOverlayStyle()));
     243    }
    221244}
    222245
     
    425448}
    426449
    427 static inline wkScrollerKnobStyle toScrollbarPainterKnobStyle(ScrollbarOverlayStyle style)
    428 {
    429     switch (style) {
    430     case ScrollbarOverlayStyleDark:
    431         return wkScrollerKnobStyleDark;
    432     case ScrollbarOverlayStyleLight:
    433         return wkScrollerKnobStyleLight;
    434     default:
    435         return wkScrollerKnobStyleDefault;
    436     }
    437 }
    438 
    439450static PlatformBridge::ThemePaintState scrollbarStateToThemeState(Scrollbar* scrollbar) {
    440451    if (!scrollbar->enabled())
     
    446457
    447458    return PlatformBridge::StateActive;
     459}
     460
     461void ScrollbarThemeChromiumMac::updateEnabledState(Scrollbar* scrollbar)
     462{
     463    if (isScrollbarOverlayAPIAvailable()) {
     464        wkScrollbarPainterSetEnabled(scrollbarMap()->get(scrollbar).get(), scrollbar->enabled());
     465    }
    448466}
    449467
     
    478496#endif
    479497
    480         wkSetScrollbarPainterKnobStyle(painterForScrollbar(scrollbar), toScrollbarPainterKnobStyle(scrollbar->scrollableArea()->scrollbarOverlayStyle()));
    481 
    482498        GraphicsContextStateSaver stateSaver(*context);
    483499        context->clip(damageRect);
Note: See TracChangeset for help on using the changeset viewer.