| 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 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 255 { | 255 { |
| 256 Page* page = box().frame()->page(); | 256 Page* page = box().frame()->page(); |
| 257 return page && page->focusController().isActive(); | 257 return page && page->focusController().isActive(); |
| 258 } | 258 } |
| 259 | 259 |
| 260 bool DeprecatedPaintLayerScrollableArea::isScrollCornerVisible() const | 260 bool DeprecatedPaintLayerScrollableArea::isScrollCornerVisible() const |
| 261 { | 261 { |
| 262 return !scrollCornerRect().isEmpty(); | 262 return !scrollCornerRect().isEmpty(); |
| 263 } | 263 } |
| 264 | 264 |
| 265 static int cornerStart(const LayoutStyle& style, int minX, int maxX, int thickne
ss) | 265 static int cornerStart(const ComputedStyle& style, int minX, int maxX, int thick
ness) |
| 266 { | 266 { |
| 267 if (style.shouldPlaceBlockDirectionScrollbarOnLogicalLeft()) | 267 if (style.shouldPlaceBlockDirectionScrollbarOnLogicalLeft()) |
| 268 return minX + style.borderLeftWidth(); | 268 return minX + style.borderLeftWidth(); |
| 269 return maxX - thickness - style.borderRightWidth(); | 269 return maxX - thickness - style.borderRightWidth(); |
| 270 } | 270 } |
| 271 | 271 |
| 272 static IntRect cornerRect(const LayoutStyle& style, const Scrollbar* horizontalS
crollbar, const Scrollbar* verticalScrollbar, const IntRect& bounds) | 272 static IntRect cornerRect(const ComputedStyle& style, const Scrollbar* horizonta
lScrollbar, const Scrollbar* verticalScrollbar, const IntRect& bounds) |
| 273 { | 273 { |
| 274 int horizontalThickness; | 274 int horizontalThickness; |
| 275 int verticalThickness; | 275 int verticalThickness; |
| 276 if (!verticalScrollbar && !horizontalScrollbar) { | 276 if (!verticalScrollbar && !horizontalScrollbar) { |
| 277 // FIXME: This isn't right. We need to know the thickness of custom scro
llbars | 277 // FIXME: This isn't right. We need to know the thickness of custom scro
llbars |
| 278 // even when they don't exist in order to set the resizer square size pr
operly. | 278 // even when they don't exist in order to set the resizer square size pr
operly. |
| 279 horizontalThickness = ScrollbarTheme::theme()->scrollbarThickness(); | 279 horizontalThickness = ScrollbarTheme::theme()->scrollbarThickness(); |
| 280 verticalThickness = horizontalThickness; | 280 verticalThickness = horizontalThickness; |
| 281 } else if (verticalScrollbar && !horizontalScrollbar) { | 281 } else if (verticalScrollbar && !horizontalScrollbar) { |
| 282 horizontalThickness = verticalScrollbar->width(); | 282 horizontalThickness = verticalScrollbar->width(); |
| (...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 768 // opposed to the 'viewport' scrollbars managed by the DeprecatedPaintLayerCompo
sitor). | 768 // opposed to the 'viewport' scrollbars managed by the DeprecatedPaintLayerCompo
sitor). |
| 769 // FIXME: we should use the same scrolling machinery for both the viewport and | 769 // FIXME: we should use the same scrolling machinery for both the viewport and |
| 770 // overflow. Currently, we need to avoid producing scrollbars here if they'll be | 770 // overflow. Currently, we need to avoid producing scrollbars here if they'll be |
| 771 // handled externally in the RLC. | 771 // handled externally in the RLC. |
| 772 static bool canHaveOverflowScrollbars(const LayoutBox& box) | 772 static bool canHaveOverflowScrollbars(const LayoutBox& box) |
| 773 { | 773 { |
| 774 bool rootLayerScrolls = box.document().settings() && box.document().settings
()->rootLayerScrolls(); | 774 bool rootLayerScrolls = box.document().settings() && box.document().settings
()->rootLayerScrolls(); |
| 775 return (rootLayerScrolls || !box.isLayoutView()) && box.document().viewportD
efiningElement() != box.node(); | 775 return (rootLayerScrolls || !box.isLayoutView()) && box.document().viewportD
efiningElement() != box.node(); |
| 776 } | 776 } |
| 777 | 777 |
| 778 void DeprecatedPaintLayerScrollableArea::updateAfterStyleChange(const LayoutStyl
e* oldStyle) | 778 void DeprecatedPaintLayerScrollableArea::updateAfterStyleChange(const ComputedSt
yle* oldStyle) |
| 779 { | 779 { |
| 780 if (!m_scrollDimensionsDirty) | 780 if (!m_scrollDimensionsDirty) |
| 781 updateScrollableAreaSet(hasScrollableHorizontalOverflow() || hasScrollab
leVerticalOverflow()); | 781 updateScrollableAreaSet(hasScrollableHorizontalOverflow() || hasScrollab
leVerticalOverflow()); |
| 782 | 782 |
| 783 if (!canHaveOverflowScrollbars(box())) | 783 if (!canHaveOverflowScrollbars(box())) |
| 784 return; | 784 return; |
| 785 | 785 |
| 786 EOverflow overflowX = box().style()->overflowX(); | 786 EOverflow overflowX = box().style()->overflowX(); |
| 787 EOverflow overflowY = box().style()->overflowY(); | 787 EOverflow overflowY = box().style()->overflowY(); |
| 788 | 788 |
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1052 } | 1052 } |
| 1053 | 1053 |
| 1054 void DeprecatedPaintLayerScrollableArea::updateScrollCornerStyle() | 1054 void DeprecatedPaintLayerScrollableArea::updateScrollCornerStyle() |
| 1055 { | 1055 { |
| 1056 if (!m_scrollCorner && !hasScrollbar()) | 1056 if (!m_scrollCorner && !hasScrollbar()) |
| 1057 return; | 1057 return; |
| 1058 if (!m_scrollCorner && hasOverlayScrollbars()) | 1058 if (!m_scrollCorner && hasOverlayScrollbars()) |
| 1059 return; | 1059 return; |
| 1060 | 1060 |
| 1061 LayoutObject* actualRenderer = rendererForScrollbar(box()); | 1061 LayoutObject* actualRenderer = rendererForScrollbar(box()); |
| 1062 RefPtr<LayoutStyle> corner = box().hasOverflowClip() ? actualRenderer->getUn
cachedPseudoStyle(PseudoStyleRequest(SCROLLBAR_CORNER), actualRenderer->style())
: PassRefPtr<LayoutStyle>(nullptr); | 1062 RefPtr<ComputedStyle> corner = box().hasOverflowClip() ? actualRenderer->get
UncachedPseudoStyle(PseudoStyleRequest(SCROLLBAR_CORNER), actualRenderer->style(
)) : PassRefPtr<ComputedStyle>(nullptr); |
| 1063 if (corner) { | 1063 if (corner) { |
| 1064 if (!m_scrollCorner) { | 1064 if (!m_scrollCorner) { |
| 1065 m_scrollCorner = LayoutScrollbarPart::createAnonymous(&box().documen
t()); | 1065 m_scrollCorner = LayoutScrollbarPart::createAnonymous(&box().documen
t()); |
| 1066 m_scrollCorner->setParent(&box()); | 1066 m_scrollCorner->setParent(&box()); |
| 1067 } | 1067 } |
| 1068 m_scrollCorner->setStyle(corner.release()); | 1068 m_scrollCorner->setStyle(corner.release()); |
| 1069 } else if (m_scrollCorner) { | 1069 } else if (m_scrollCorner) { |
| 1070 m_scrollCorner->destroy(); | 1070 m_scrollCorner->destroy(); |
| 1071 m_scrollCorner = nullptr; | 1071 m_scrollCorner = nullptr; |
| 1072 } | 1072 } |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1180 else | 1180 else |
| 1181 frameView->removeResizerArea(box()); | 1181 frameView->removeResizerArea(box()); |
| 1182 } | 1182 } |
| 1183 | 1183 |
| 1184 void DeprecatedPaintLayerScrollableArea::updateResizerStyle() | 1184 void DeprecatedPaintLayerScrollableArea::updateResizerStyle() |
| 1185 { | 1185 { |
| 1186 if (!m_resizer && !box().canResize()) | 1186 if (!m_resizer && !box().canResize()) |
| 1187 return; | 1187 return; |
| 1188 | 1188 |
| 1189 LayoutObject* actualRenderer = rendererForScrollbar(box()); | 1189 LayoutObject* actualRenderer = rendererForScrollbar(box()); |
| 1190 RefPtr<LayoutStyle> resizer = box().hasOverflowClip() ? actualRenderer->getU
ncachedPseudoStyle(PseudoStyleRequest(RESIZER), actualRenderer->style()) : PassR
efPtr<LayoutStyle>(nullptr); | 1190 RefPtr<ComputedStyle> resizer = box().hasOverflowClip() ? actualRenderer->ge
tUncachedPseudoStyle(PseudoStyleRequest(RESIZER), actualRenderer->style()) : Pas
sRefPtr<ComputedStyle>(nullptr); |
| 1191 if (resizer) { | 1191 if (resizer) { |
| 1192 if (!m_resizer) { | 1192 if (!m_resizer) { |
| 1193 m_resizer = LayoutScrollbarPart::createAnonymous(&box().document()); | 1193 m_resizer = LayoutScrollbarPart::createAnonymous(&box().document()); |
| 1194 m_resizer->setParent(&box()); | 1194 m_resizer->setParent(&box()); |
| 1195 } | 1195 } |
| 1196 m_resizer->setStyle(resizer.release()); | 1196 m_resizer->setStyle(resizer.release()); |
| 1197 } else if (m_resizer) { | 1197 } else if (m_resizer) { |
| 1198 m_resizer->destroy(); | 1198 m_resizer->destroy(); |
| 1199 m_resizer = nullptr; | 1199 m_resizer = nullptr; |
| 1200 } | 1200 } |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1386 void DeprecatedPaintLayerScrollableArea::setTopmostScrollChild(DeprecatedPaintLa
yer* scrollChild) | 1386 void DeprecatedPaintLayerScrollableArea::setTopmostScrollChild(DeprecatedPaintLa
yer* scrollChild) |
| 1387 { | 1387 { |
| 1388 // We only want to track the topmost scroll child for scrollable areas with | 1388 // We only want to track the topmost scroll child for scrollable areas with |
| 1389 // overlay scrollbars. | 1389 // overlay scrollbars. |
| 1390 if (!hasOverlayScrollbars()) | 1390 if (!hasOverlayScrollbars()) |
| 1391 return; | 1391 return; |
| 1392 m_nextTopmostScrollChild = scrollChild; | 1392 m_nextTopmostScrollChild = scrollChild; |
| 1393 } | 1393 } |
| 1394 | 1394 |
| 1395 } // namespace blink | 1395 } // namespace blink |
| OLD | NEW |