WebKit Bugzilla
Attachment 373131 Details for
Bug 199321
: REGRESSION (r239984): pages with custom scrollbars also show normal scrollbars
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199321-20190628104849.patch (text/plain), 4.80 KB, created by
Simon Fraser (smfr)
on 2019-06-28 10:48:50 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Simon Fraser (smfr)
Created:
2019-06-28 10:48:50 PDT
Size:
4.80 KB
patch
obsolete
>Subversion Revision: 246919 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index ada73a714a7c2527b35802a4c02c47a5bdccb4d5..71ee28369bafd510f1f667b96ec08152e7eb59d5 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,24 @@ >+2019-06-28 Simon Fraser <simon.fraser@apple.com> >+ >+ REGRESSION (r239984): pages with custom scrollbars also show normal scrollbars >+ https://bugs.webkit.org/show_bug.cgi?id=199321 >+ <rdar://problem/52308095> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Revert the part of r239984 that made isCustomScrollbar() virtual, since theme().registerScrollbar() >+ calls it from the base class constructor. >+ >+ I wasn't able to make a test that tests rendering of overlay scrollbars (webkit.org/b/199323). >+ >+ * platform/Scrollbar.cpp: >+ (WebCore::Scrollbar::Scrollbar): >+ * platform/Scrollbar.h: >+ (WebCore::Scrollbar::isCustomScrollbar const): >+ * rendering/RenderScrollbar.cpp: >+ (WebCore::RenderScrollbar::RenderScrollbar): >+ * rendering/RenderScrollbar.h: >+ > 2019-06-27 Fujii Hironori <Hironori.Fujii@sony.com> > > [WinCairo][MediaFoundation] Stop using soft linking for Media Foundation >diff --git a/Source/WebCore/platform/Scrollbar.cpp b/Source/WebCore/platform/Scrollbar.cpp >index 39691550d9fa2e7395c55309b3e24e7732edfb7b..1293e2d79313f86b9e86c8bc0b257796dfd5d629 100644 >--- a/Source/WebCore/platform/Scrollbar.cpp >+++ b/Source/WebCore/platform/Scrollbar.cpp >@@ -54,11 +54,12 @@ int Scrollbar::maxOverlapBetweenPages() > return maxOverlapBetweenPages; > } > >-Scrollbar::Scrollbar(ScrollableArea& scrollableArea, ScrollbarOrientation orientation, ScrollbarControlSize controlSize, ScrollbarTheme* customTheme) >+Scrollbar::Scrollbar(ScrollableArea& scrollableArea, ScrollbarOrientation orientation, ScrollbarControlSize controlSize, ScrollbarTheme* customTheme, bool isCustomScrollbar) > : m_scrollableArea(scrollableArea) > , m_orientation(orientation) > , m_controlSize(controlSize) > , m_theme(customTheme ? *customTheme : ScrollbarTheme::theme()) >+ , m_isCustomScrollbar(isCustomScrollbar) > , m_scrollTimer(*this, &Scrollbar::autoscrollTimerFired) > { > theme().registerScrollbar(*this); >diff --git a/Source/WebCore/platform/Scrollbar.h b/Source/WebCore/platform/Scrollbar.h >index c2bc6c21840a00b6a07b518130d737bf106c0ce6..e2a25b7edfc1bdfc9a998681b28fcfe78b475f8a 100644 >--- a/Source/WebCore/platform/Scrollbar.h >+++ b/Source/WebCore/platform/Scrollbar.h >@@ -56,7 +56,7 @@ public: > > ScrollableArea& scrollableArea() const { return m_scrollableArea; } > >- virtual bool isCustomScrollbar() const { return false; } >+ bool isCustomScrollbar() const { return m_isCustomScrollbar; } > ScrollbarOrientation orientation() const { return m_orientation; } > > int value() const { return lroundf(m_currentPos); } >@@ -132,7 +132,7 @@ public: > bool supportsUpdateOnSecondaryThread() const; > > protected: >- Scrollbar(ScrollableArea&, ScrollbarOrientation, ScrollbarControlSize, ScrollbarTheme* = nullptr); >+ Scrollbar(ScrollableArea&, ScrollbarOrientation, ScrollbarControlSize, ScrollbarTheme* = nullptr, bool isCustomScrollbar = false); > > void updateThumb(); > virtual void updateThumbPosition(); >@@ -165,6 +165,7 @@ protected: > int m_documentDragPos { 0 }; > > bool m_enabled { true }; >+ bool m_isCustomScrollbar { false }; > > Timer m_scrollTimer; > >diff --git a/Source/WebCore/rendering/RenderScrollbar.cpp b/Source/WebCore/rendering/RenderScrollbar.cpp >index 308d2376cf7ea92baf06890b4b83d467f48d6a68..422ba921a2070962252343e2ae1403c46555dd0b 100644 >--- a/Source/WebCore/rendering/RenderScrollbar.cpp >+++ b/Source/WebCore/rendering/RenderScrollbar.cpp >@@ -42,7 +42,7 @@ Ref<Scrollbar> RenderScrollbar::createCustomScrollbar(ScrollableArea& scrollable > } > > RenderScrollbar::RenderScrollbar(ScrollableArea& scrollableArea, ScrollbarOrientation orientation, Element* ownerElement, Frame* owningFrame) >- : Scrollbar(scrollableArea, orientation, RegularScrollbar, RenderScrollbarTheme::renderScrollbarTheme()) >+ : Scrollbar(scrollableArea, orientation, RegularScrollbar, RenderScrollbarTheme::renderScrollbarTheme(), true) > , m_ownerElement(ownerElement) > , m_owningFrame(owningFrame) > { >diff --git a/Source/WebCore/rendering/RenderScrollbar.h b/Source/WebCore/rendering/RenderScrollbar.h >index e585605ebef84c8611037f726ea8d7f0caade8e4..f8cc9bebcb97dc3c4a3fd17fff7b00606fdf1b17 100644 >--- a/Source/WebCore/rendering/RenderScrollbar.h >+++ b/Source/WebCore/rendering/RenderScrollbar.h >@@ -61,7 +61,6 @@ public: > private: > RenderScrollbar(ScrollableArea&, ScrollbarOrientation, Element*, Frame*); > >- bool isCustomScrollbar() const override { return true; } > bool isOverlayScrollbar() const override { return false; } > > void setParent(ScrollView*) override;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199321
: 373131