Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1655)

Unified Diff: Source/platform/scroll/Scrollbar.cpp

Issue 621653002: Don't call into ScrollView from Scrollbar. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@resizer
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/platform/scroll/Scrollbar.cpp
diff --git a/Source/platform/scroll/Scrollbar.cpp b/Source/platform/scroll/Scrollbar.cpp
index 96b5f79c464d7bc95264e673f493a4a203a6ad2d..11f7ed5ca5eeed11edf6e44eea06df07058146a4 100644
--- a/Source/platform/scroll/Scrollbar.cpp
+++ b/Source/platform/scroll/Scrollbar.cpp
@@ -31,7 +31,6 @@
#include "platform/PlatformGestureEvent.h"
#include "platform/PlatformMouseEvent.h"
#include "platform/scroll/ScrollAnimator.h"
-#include "platform/scroll/ScrollView.h"
#include "platform/scroll/ScrollableArea.h"
#include "platform/scroll/ScrollbarTheme.h"
@@ -90,17 +89,6 @@ Scrollbar::~Scrollbar()
m_theme->unregisterScrollbar(this);
}
-void Scrollbar::removeFromParent()
-{
- if (parent())
- toScrollView(parent())->removeChild(this);
-}
-
-ScrollView* Scrollbar::parentScrollView() const
-{
- return parent() && parent()->isScrollView() ? toScrollView(parent()) : 0;
-}
-
ScrollbarOverlayStyle Scrollbar::scrollbarOverlayStyle() const
{
return m_scrollableArea ? m_scrollableArea->scrollbarOverlayStyle() : ScrollbarOverlayStyleDefault;
@@ -119,7 +107,7 @@ bool Scrollbar::isScrollableAreaActive() const
bool Scrollbar::isScrollViewScrollbar() const
{
- return parent() && parent()->isFrameView() && toScrollView(parent())->isScrollViewScrollbar(this);
Ian Vollick 2014/10/04 01:25:45 Wouldn't this have previously returned true for Re
skobes 2014/10/06 18:18:53 No, ScrollView::isScrollViewScrollbar returns fals
+ return m_scrollableArea && m_scrollableArea->isScrollViewScrollbar(this);
}
bool Scrollbar::isLeftSideVerticalScrollbar() const
@@ -471,47 +459,6 @@ void Scrollbar::mouseDown(const PlatformMouseEvent& evt)
autoscrollPressedPart(theme()->initialAutoscrollTimerDelay());
}
-void Scrollbar::setFrameRect(const IntRect& rect)
-{
- // Get our window resizer rect and see if we overlap. Adjust to avoid the overlap
- // if necessary.
- IntRect adjustedRect(rect);
- bool overlapsResizer = false;
- ScrollView* view = parentScrollView();
- if (view && !rect.isEmpty() && !view->windowResizerRect().isEmpty()) {
- IntRect resizerRect = view->convertFromContainingWindow(view->windowResizerRect());
- if (rect.intersects(resizerRect)) {
- if (orientation() == HorizontalScrollbar) {
- int overlap = rect.maxX() - resizerRect.x();
- if (overlap > 0 && resizerRect.maxX() >= rect.maxX()) {
- adjustedRect.setWidth(rect.width() - overlap);
- overlapsResizer = true;
- }
- } else {
- int overlap = rect.maxY() - resizerRect.y();
- if (overlap > 0 && resizerRect.maxY() >= rect.maxY()) {
- adjustedRect.setHeight(rect.height() - overlap);
- overlapsResizer = true;
- }
- }
- }
- }
- if (overlapsResizer != m_overlapsResizer) {
- m_overlapsResizer = overlapsResizer;
- if (view)
- view->adjustScrollbarsAvoidingResizerCount(m_overlapsResizer ? 1 : -1);
- }
-
- Widget::setFrameRect(adjustedRect);
-}
-
-void Scrollbar::setParent(Widget* parentView)
-{
- if (!parentView && m_overlapsResizer && parentScrollView())
- parentScrollView()->adjustScrollbarsAvoidingResizerCount(-1);
- Widget::setParent(parentView);
-}
-
void Scrollbar::setEnabled(bool e)
{
if (m_enabled == e)
« Source/platform/scroll/ScrollView.cpp ('K') | « Source/platform/scroll/Scrollbar.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698