Changeset 276739 in webkit
- Timestamp:
- Apr 28, 2021, 4:00:57 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 3 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/fullscreen/full-screen-crash-custom-scrollbars-expected.txt (added)
-
LayoutTests/fullscreen/full-screen-crash-custom-scrollbars.html (added)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/rendering/RenderLayerScrollableArea.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r276736 r276739 1 2021-04-28 Cameron McCormack <heycam@apple.com> 2 3 Don't create custom scrollbars for fullscreen placeholders. 4 https://bugs.webkit.org/show_bug.cgi?id=225141 5 6 Reviewed by Darin Adler. 7 8 * fullscreen/full-screen-crash-custom-scrollbars-expected.txt: Added. 9 * fullscreen/full-screen-crash-custom-scrollbars.html: Added. 10 1 11 2021-04-28 Chris Dumez <cdumez@apple.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r276737 r276739 1 2021-04-28 Cameron McCormack <heycam@apple.com> 2 3 Don't create custom scrollbars for fullscreen placeholders. 4 https://bugs.webkit.org/show_bug.cgi?id=225141 5 <rdar://64800098> 6 7 Reviewed by Darin Adler. 8 9 We can end up calling RenderScrollbar::createCustomScrollbar with 10 `element = nullptr` from RenderLayerScrollableArea::createScrollbar, 11 when the renderer is a RenderFullscreenPlaceholder. 12 13 We don't need to bother with scrollbars for the placeholder, so check to 14 make sure we have a valid element before creating custom scollbars. 15 16 Test: fullscreen/full-screen-crash-custom-scrollbars.html 17 18 * rendering/RenderLayerScrollableArea.cpp: 19 (WebCore::RenderLayerScrollableArea::createScrollbar): 20 1 21 2021-04-28 Chris Dumez <cdumez@apple.com> 2 22 -
trunk/Source/WebCore/rendering/RenderLayerScrollableArea.cpp
r276182 r276739 819 819 auto& actualRenderer = *rendererForScrollbar(renderer); 820 820 bool hasCustomScrollbarStyle = is<RenderBox>(actualRenderer) && downcast<RenderBox>(actualRenderer).style().hasPseudoStyle(PseudoId::Scrollbar); 821 if (hasCustomScrollbarStyle) 822 widget = RenderScrollbar::createCustomScrollbar(*this, orientation, downcast<RenderBox>(actualRenderer).element()); 821 auto element = downcast<RenderBox>(actualRenderer).element(); 822 if (hasCustomScrollbarStyle && element) 823 widget = RenderScrollbar::createCustomScrollbar(*this, orientation, element); 823 824 else { 824 825 widget = Scrollbar::createNativeScrollbar(*this, orientation, ScrollbarControlSize::Regular);
Note:
See TracChangeset
for help on using the changeset viewer.