| Index: Source/platform/scroll/ScrollbarThemeMacCommon.mm | 
| diff --git a/Source/platform/scroll/ScrollbarThemeMacCommon.mm b/Source/platform/scroll/ScrollbarThemeMacCommon.mm | 
| index ca4a59859db8831d1ef3678ea735bcddff0a6e25..efca048f10662bc8a919c6da6e984e2210036814 100644 | 
| --- a/Source/platform/scroll/ScrollbarThemeMacCommon.mm | 
| +++ b/Source/platform/scroll/ScrollbarThemeMacCommon.mm | 
| @@ -130,140 +130,6 @@ void ScrollbarThemeMacCommon::paintGivenTickmarks(GraphicsContext* context, Scro | 
| } | 
| } | 
|  | 
| -void ScrollbarThemeMacCommon::paintOverhangBackground(GraphicsContext* context, const IntRect& horizontalOverhangRect, const IntRect& verticalOverhangRect, const IntRect& dirtyRect) | 
| -{ | 
| -    const bool hasHorizontalOverhang = !horizontalOverhangRect.isEmpty(); | 
| -    const bool hasVerticalOverhang = !verticalOverhangRect.isEmpty(); | 
| - | 
| -    GraphicsContextStateSaver stateSaver(*context); | 
| - | 
| -    if (!m_overhangPattern) { | 
| -        // Lazily load the linen pattern image used for overhang drawing. | 
| -        RefPtr<Image> patternImage = Image::loadPlatformResource("overhangPattern"); | 
| -        m_overhangPattern = Pattern::createBitmapPattern(patternImage); | 
| -    } | 
| -    context->setFillPattern(m_overhangPattern); | 
| -    if (hasHorizontalOverhang) | 
| -        context->fillRect(intersection(horizontalOverhangRect, dirtyRect)); | 
| -    if (hasVerticalOverhang) | 
| -        context->fillRect(intersection(verticalOverhangRect, dirtyRect)); | 
| -} | 
| - | 
| -void ScrollbarThemeMacCommon::paintOverhangShadows(GraphicsContext* context, const IntSize& scrollOffset, const IntRect& horizontalOverhangRect, const IntRect& verticalOverhangRect, const IntRect& dirtyRect) | 
| -{ | 
| -    // The extent of each shadow in pixels. | 
| -    const int kShadowSize = 4; | 
| -    // Offset of negative one pixel to make the gradient blend with the toolbar's bottom border. | 
| -    const int kToolbarShadowOffset = -1; | 
| -    const struct { | 
| -        float stop; | 
| -        Color color; | 
| -    } kShadowColors[] = { | 
| -        { 0.000, Color(0, 0, 0, 255) }, | 
| -        { 0.125, Color(0, 0, 0, 57) }, | 
| -        { 0.375, Color(0, 0, 0, 41) }, | 
| -        { 0.625, Color(0, 0, 0, 18) }, | 
| -        { 0.875, Color(0, 0, 0, 6) }, | 
| -        { 1.000, Color(0, 0, 0, 0) } | 
| -    }; | 
| -    const unsigned kNumShadowColors = sizeof(kShadowColors)/sizeof(kShadowColors[0]); | 
| - | 
| -    const bool hasHorizontalOverhang = !horizontalOverhangRect.isEmpty(); | 
| -    const bool hasVerticalOverhang = !verticalOverhangRect.isEmpty(); | 
| -    // Prefer non-additive shadows, but degrade to additive shadows if there is vertical overhang. | 
| -    const bool useAdditiveShadows = hasVerticalOverhang; | 
| - | 
| -    GraphicsContextStateSaver stateSaver(*context); | 
| - | 
| -    FloatPoint shadowCornerOrigin; | 
| -    FloatPoint shadowCornerOffset; | 
| - | 
| -    // Draw the shadow for the horizontal overhang. | 
| -    if (hasHorizontalOverhang) { | 
| -        int toolbarShadowHeight = kShadowSize; | 
| -        RefPtr<Gradient> gradient; | 
| -        IntRect shadowRect = horizontalOverhangRect; | 
| -        shadowRect.setHeight(kShadowSize); | 
| -        if (scrollOffset.height() < 0) { | 
| -            if (useAdditiveShadows) { | 
| -                toolbarShadowHeight = std::min(horizontalOverhangRect.height(), kShadowSize); | 
| -            } else if (horizontalOverhangRect.height() < 2 * kShadowSize + kToolbarShadowOffset) { | 
| -                // Split the overhang area between the web content shadow and toolbar shadow if it's too small. | 
| -                shadowRect.setHeight((horizontalOverhangRect.height() + 1) / 2); | 
| -                toolbarShadowHeight = horizontalOverhangRect.height() - shadowRect.height() - kToolbarShadowOffset; | 
| -            } | 
| -            shadowRect.setY(horizontalOverhangRect.maxY() - shadowRect.height()); | 
| -            gradient = Gradient::create(FloatPoint(0, shadowRect.maxY()), FloatPoint(0, shadowRect.maxY() - kShadowSize)); | 
| -            shadowCornerOrigin.setY(shadowRect.maxY()); | 
| -            shadowCornerOffset.setY(-kShadowSize); | 
| -        } else { | 
| -            gradient = Gradient::create(FloatPoint(0, shadowRect.y()), FloatPoint(0, shadowRect.maxY())); | 
| -            shadowCornerOrigin.setY(shadowRect.y()); | 
| -        } | 
| -        if (hasVerticalOverhang) { | 
| -            shadowRect.setWidth(shadowRect.width() - verticalOverhangRect.width()); | 
| -            if (scrollOffset.width() < 0) { | 
| -                shadowRect.setX(shadowRect.x() + verticalOverhangRect.width()); | 
| -                shadowCornerOrigin.setX(shadowRect.x()); | 
| -                shadowCornerOffset.setX(-kShadowSize); | 
| -            } else { | 
| -                shadowCornerOrigin.setX(shadowRect.maxX()); | 
| -            } | 
| -        } | 
| -        for (unsigned i = 0; i < kNumShadowColors; i++) | 
| -            gradient->addColorStop(kShadowColors[i].stop, kShadowColors[i].color); | 
| -        context->setFillGradient(gradient); | 
| -        context->fillRect(intersection(shadowRect, dirtyRect)); | 
| - | 
| -        // Draw a drop-shadow from the toolbar. | 
| -        if (scrollOffset.height() < 0) { | 
| -            shadowRect.setY(kToolbarShadowOffset); | 
| -            shadowRect.setHeight(toolbarShadowHeight); | 
| -            gradient = Gradient::create(FloatPoint(0, shadowRect.y()), FloatPoint(0, shadowRect.y() + kShadowSize)); | 
| -            for (unsigned i = 0; i < kNumShadowColors; i++) | 
| -                gradient->addColorStop(kShadowColors[i].stop, kShadowColors[i].color); | 
| -            context->setFillGradient(gradient); | 
| -            context->fillRect(intersection(shadowRect, dirtyRect)); | 
| -        } | 
| -    } | 
| - | 
| -    // Draw the shadow for the vertical overhang. | 
| -    if (hasVerticalOverhang) { | 
| -        RefPtr<Gradient> gradient; | 
| -        IntRect shadowRect = verticalOverhangRect; | 
| -        shadowRect.setWidth(kShadowSize); | 
| -        if (scrollOffset.width() < 0) { | 
| -            shadowRect.setX(verticalOverhangRect.maxX() - shadowRect.width()); | 
| -            gradient = Gradient::create(FloatPoint(shadowRect.maxX(), 0), FloatPoint(shadowRect.x(), 0)); | 
| -        } else { | 
| -            gradient = Gradient::create(FloatPoint(shadowRect.x(), 0), FloatPoint(shadowRect.maxX(), 0)); | 
| -        } | 
| -        for (unsigned i = 0; i < kNumShadowColors; i++) | 
| -            gradient->addColorStop(kShadowColors[i].stop, kShadowColors[i].color); | 
| -        context->setFillGradient(gradient); | 
| -        context->fillRect(intersection(shadowRect, dirtyRect)); | 
| - | 
| -        // Draw a drop-shadow from the toolbar. | 
| -        shadowRect = verticalOverhangRect; | 
| -        shadowRect.setY(kToolbarShadowOffset); | 
| -        shadowRect.setHeight(kShadowSize); | 
| -        gradient = Gradient::create(FloatPoint(0, shadowRect.y()), FloatPoint(0, shadowRect.maxY())); | 
| -        for (unsigned i = 0; i < kNumShadowColors; i++) | 
| -            gradient->addColorStop(kShadowColors[i].stop, kShadowColors[i].color); | 
| -        context->setFillGradient(gradient); | 
| -        context->fillRect(intersection(shadowRect, dirtyRect)); | 
| -    } | 
| - | 
| -    // If both rectangles present, draw a radial gradient for the corner. | 
| -    if (hasHorizontalOverhang && hasVerticalOverhang) { | 
| -        RefPtr<Gradient> gradient = Gradient::create(shadowCornerOrigin, 0, shadowCornerOrigin, kShadowSize); | 
| -        for (unsigned i = 0; i < kNumShadowColors; i++) | 
| -            gradient->addColorStop(kShadowColors[i].stop, kShadowColors[i].color); | 
| -        context->setFillGradient(gradient); | 
| -        context->fillRect(FloatRect(shadowCornerOrigin.x() + shadowCornerOffset.x(), shadowCornerOrigin.y() + shadowCornerOffset.y(), kShadowSize, kShadowSize)); | 
| -    } | 
| -} | 
| - | 
| void ScrollbarThemeMacCommon::paintTickmarks(GraphicsContext* context, ScrollbarThemeClient* scrollbar, const IntRect& rect) | 
| { | 
| // Note: This is only used for css-styled scrollbars on mac. | 
|  |