Chromium Code Reviews| Index: Source/core/frame/FrameView.cpp |
| diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp |
| index 80bbf1b9c1caa164c41519188afb2ff8c9b8d76d..5743b2ecf3ad03acad99f21fc5d4a52d2bd686cf 100644 |
| --- a/Source/core/frame/FrameView.cpp |
| +++ b/Source/core/frame/FrameView.cpp |
| @@ -339,6 +339,35 @@ void FrameView::recalculateCustomScrollbarStyle() |
| updateScrollCorner(); |
| positionScrollbarLayers(); |
| } |
| + if (!m_parts.isEmpty()) |
| + recalculateWidgetCustomScrollbarStyle(); |
| +} |
| + |
| +void FrameView::recalculateWidgetCustomScrollbarStyle() |
|
MuVen
2014/12/04 15:47:10
with this changes any scrollbar pertaining to fram
|
| +{ |
| + WillBeHeapVector<RefPtrWillBeMember<RenderPart> > parts; |
| + copyToVector(m_parts, parts); |
| + |
| + for (size_t i = 0; i < parts.size() && renderView(); ++i) { |
|
skobes
2014/12/04 17:18:38
This looks like it does the equivalent of FrameVie
MuVen
2014/12/04 17:50:28
True. Instead of writing one more api i have reuse
|
| + Widget* widget = parts[i]->widget(); |
| + if (widget && widget->isFrameView()) { |
| + FrameView* frameView = toFrameView(widget); |
| + bool didStyleChange = false; |
| + if (frameView->horizontalScrollbar() && frameView->horizontalScrollbar()->isCustomScrollbar()) { |
| + frameView->horizontalScrollbar()->styleChanged(); |
| + didStyleChange = true; |
| + } |
| + if (frameView->verticalScrollbar() && frameView->verticalScrollbar()->isCustomScrollbar()) { |
| + frameView->verticalScrollbar()->styleChanged(); |
| + didStyleChange = true; |
| + } |
| + if (didStyleChange) { |
| + frameView->updateScrollbarGeometry(); |
| + frameView->updateScrollCorner(); |
| + frameView->positionScrollbarLayers(); |
| + } |
| + } |
| + } |
| } |
| void FrameView::recalculateScrollbarOverlayStyle() |