| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
reserved. |
| 3 * | 3 * |
| 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. | 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. |
| 5 * | 5 * |
| 6 * Other contributors: | 6 * Other contributors: |
| 7 * Robert O'Callahan <roc+@cs.cmu.edu> | 7 * Robert O'Callahan <roc+@cs.cmu.edu> |
| 8 * David Baron <dbaron@fas.harvard.edu> | 8 * David Baron <dbaron@fas.harvard.edu> |
| 9 * Christian Biesinger <cbiesinger@web.de> | 9 * Christian Biesinger <cbiesinger@web.de> |
| 10 * Randall Jesup <rjesup@wgate.com> | 10 * Randall Jesup <rjesup@wgate.com> |
| (...skipping 873 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 884 if (scrollbar == m_vBar.get()) | 884 if (scrollbar == m_vBar.get()) |
| 885 return IntSize(verticalScrollbarStart(0, box().size().width()), box().bo
rderTop()); | 885 return IntSize(verticalScrollbarStart(0, box().size().width()), box().bo
rderTop()); |
| 886 | 886 |
| 887 if (scrollbar == m_hBar.get()) | 887 if (scrollbar == m_hBar.get()) |
| 888 return IntSize(horizontalScrollbarStart(0), box().size().height() - box(
).borderBottom() - scrollbar->height()); | 888 return IntSize(horizontalScrollbarStart(0), box().size().height() - box(
).borderBottom() - scrollbar->height()); |
| 889 | 889 |
| 890 ASSERT_NOT_REACHED(); | 890 ASSERT_NOT_REACHED(); |
| 891 return IntSize(); | 891 return IntSize(); |
| 892 } | 892 } |
| 893 | 893 |
| 894 static inline RenderObject* rendererForScrollbar(RenderObject& renderer) | 894 static inline LayoutObject* rendererForScrollbar(LayoutObject& renderer) |
| 895 { | 895 { |
| 896 if (Node* node = renderer.node()) { | 896 if (Node* node = renderer.node()) { |
| 897 if (ShadowRoot* shadowRoot = node->containingShadowRoot()) { | 897 if (ShadowRoot* shadowRoot = node->containingShadowRoot()) { |
| 898 if (shadowRoot->type() == ShadowRoot::UserAgentShadowRoot) | 898 if (shadowRoot->type() == ShadowRoot::UserAgentShadowRoot) |
| 899 return shadowRoot->host()->renderer(); | 899 return shadowRoot->host()->renderer(); |
| 900 } | 900 } |
| 901 } | 901 } |
| 902 | 902 |
| 903 return &renderer; | 903 return &renderer; |
| 904 } | 904 } |
| 905 | 905 |
| 906 PassRefPtrWillBeRawPtr<Scrollbar> LayerScrollableArea::createScrollbar(Scrollbar
Orientation orientation) | 906 PassRefPtrWillBeRawPtr<Scrollbar> LayerScrollableArea::createScrollbar(Scrollbar
Orientation orientation) |
| 907 { | 907 { |
| 908 RefPtrWillBeRawPtr<Scrollbar> widget = nullptr; | 908 RefPtrWillBeRawPtr<Scrollbar> widget = nullptr; |
| 909 RenderObject* actualRenderer = rendererForScrollbar(box()); | 909 LayoutObject* actualRenderer = rendererForScrollbar(box()); |
| 910 bool hasCustomScrollbarStyle = actualRenderer->isBox() && actualRenderer->st
yle()->hasPseudoStyle(SCROLLBAR); | 910 bool hasCustomScrollbarStyle = actualRenderer->isBox() && actualRenderer->st
yle()->hasPseudoStyle(SCROLLBAR); |
| 911 if (hasCustomScrollbarStyle) { | 911 if (hasCustomScrollbarStyle) { |
| 912 widget = RenderScrollbar::createCustomScrollbar(this, orientation, actua
lRenderer->node()); | 912 widget = RenderScrollbar::createCustomScrollbar(this, orientation, actua
lRenderer->node()); |
| 913 } else { | 913 } else { |
| 914 ScrollbarControlSize scrollbarSize = RegularScrollbar; | 914 ScrollbarControlSize scrollbarSize = RegularScrollbar; |
| 915 if (actualRenderer->style()->hasAppearance()) | 915 if (actualRenderer->style()->hasAppearance()) |
| 916 scrollbarSize = LayoutTheme::theme().scrollbarControlSizeForPart(act
ualRenderer->style()->appearance()); | 916 scrollbarSize = LayoutTheme::theme().scrollbarControlSizeForPart(act
ualRenderer->style()->appearance()); |
| 917 widget = Scrollbar::create(this, orientation, scrollbarSize); | 917 widget = Scrollbar::create(this, orientation, scrollbarSize); |
| 918 if (orientation == HorizontalScrollbar) | 918 if (orientation == HorizontalScrollbar) |
| 919 didAddScrollbar(widget.get(), HorizontalScrollbar); | 919 didAddScrollbar(widget.get(), HorizontalScrollbar); |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1041 layer()->compositedLayerMapping()->positionOverflowControlsLayers(offset
FromRoot); | 1041 layer()->compositedLayerMapping()->positionOverflowControlsLayers(offset
FromRoot); |
| 1042 } | 1042 } |
| 1043 | 1043 |
| 1044 void LayerScrollableArea::updateScrollCornerStyle() | 1044 void LayerScrollableArea::updateScrollCornerStyle() |
| 1045 { | 1045 { |
| 1046 if (!m_scrollCorner && !hasScrollbar()) | 1046 if (!m_scrollCorner && !hasScrollbar()) |
| 1047 return; | 1047 return; |
| 1048 if (!m_scrollCorner && hasOverlayScrollbars()) | 1048 if (!m_scrollCorner && hasOverlayScrollbars()) |
| 1049 return; | 1049 return; |
| 1050 | 1050 |
| 1051 RenderObject* actualRenderer = rendererForScrollbar(box()); | 1051 LayoutObject* actualRenderer = rendererForScrollbar(box()); |
| 1052 RefPtr<RenderStyle> corner = box().hasOverflowClip() ? actualRenderer->getUn
cachedPseudoStyle(PseudoStyleRequest(SCROLLBAR_CORNER), actualRenderer->style())
: PassRefPtr<RenderStyle>(nullptr); | 1052 RefPtr<RenderStyle> corner = box().hasOverflowClip() ? actualRenderer->getUn
cachedPseudoStyle(PseudoStyleRequest(SCROLLBAR_CORNER), actualRenderer->style())
: PassRefPtr<RenderStyle>(nullptr); |
| 1053 if (corner) { | 1053 if (corner) { |
| 1054 if (!m_scrollCorner) { | 1054 if (!m_scrollCorner) { |
| 1055 m_scrollCorner = RenderScrollbarPart::createAnonymous(&box().documen
t()); | 1055 m_scrollCorner = RenderScrollbarPart::createAnonymous(&box().documen
t()); |
| 1056 m_scrollCorner->setParent(&box()); | 1056 m_scrollCorner->setParent(&box()); |
| 1057 } | 1057 } |
| 1058 m_scrollCorner->setStyle(corner.release()); | 1058 m_scrollCorner->setStyle(corner.release()); |
| 1059 } else if (m_scrollCorner) { | 1059 } else if (m_scrollCorner) { |
| 1060 m_scrollCorner->destroy(); | 1060 m_scrollCorner->destroy(); |
| 1061 m_scrollCorner = nullptr; | 1061 m_scrollCorner = nullptr; |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1169 frameView->addResizerArea(box()); | 1169 frameView->addResizerArea(box()); |
| 1170 else | 1170 else |
| 1171 frameView->removeResizerArea(box()); | 1171 frameView->removeResizerArea(box()); |
| 1172 } | 1172 } |
| 1173 | 1173 |
| 1174 void LayerScrollableArea::updateResizerStyle() | 1174 void LayerScrollableArea::updateResizerStyle() |
| 1175 { | 1175 { |
| 1176 if (!m_resizer && !box().canResize()) | 1176 if (!m_resizer && !box().canResize()) |
| 1177 return; | 1177 return; |
| 1178 | 1178 |
| 1179 RenderObject* actualRenderer = rendererForScrollbar(box()); | 1179 LayoutObject* actualRenderer = rendererForScrollbar(box()); |
| 1180 RefPtr<RenderStyle> resizer = box().hasOverflowClip() ? actualRenderer->getU
ncachedPseudoStyle(PseudoStyleRequest(RESIZER), actualRenderer->style()) : PassR
efPtr<RenderStyle>(nullptr); | 1180 RefPtr<RenderStyle> resizer = box().hasOverflowClip() ? actualRenderer->getU
ncachedPseudoStyle(PseudoStyleRequest(RESIZER), actualRenderer->style()) : PassR
efPtr<RenderStyle>(nullptr); |
| 1181 if (resizer) { | 1181 if (resizer) { |
| 1182 if (!m_resizer) { | 1182 if (!m_resizer) { |
| 1183 m_resizer = RenderScrollbarPart::createAnonymous(&box().document()); | 1183 m_resizer = RenderScrollbarPart::createAnonymous(&box().document()); |
| 1184 m_resizer->setParent(&box()); | 1184 m_resizer->setParent(&box()); |
| 1185 } | 1185 } |
| 1186 m_resizer->setStyle(resizer.release()); | 1186 m_resizer->setStyle(resizer.release()); |
| 1187 } else if (m_resizer) { | 1187 } else if (m_resizer) { |
| 1188 m_resizer->destroy(); | 1188 m_resizer->destroy(); |
| 1189 m_resizer = nullptr; | 1189 m_resizer = nullptr; |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1377 void LayerScrollableArea::setTopmostScrollChild(Layer* scrollChild) | 1377 void LayerScrollableArea::setTopmostScrollChild(Layer* scrollChild) |
| 1378 { | 1378 { |
| 1379 // We only want to track the topmost scroll child for scrollable areas with | 1379 // We only want to track the topmost scroll child for scrollable areas with |
| 1380 // overlay scrollbars. | 1380 // overlay scrollbars. |
| 1381 if (!hasOverlayScrollbars()) | 1381 if (!hasOverlayScrollbars()) |
| 1382 return; | 1382 return; |
| 1383 m_nextTopmostScrollChild = scrollChild; | 1383 m_nextTopmostScrollChild = scrollChild; |
| 1384 } | 1384 } |
| 1385 | 1385 |
| 1386 } // namespace blink | 1386 } // namespace blink |
| OLD | NEW |