OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
5 * 2000 Dirk Mueller <mueller@kde.org> | 5 * 2000 Dirk Mueller <mueller@kde.org> |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
9 * Copyright (C) 2009 Google Inc. All rights reserved. | 9 * Copyright (C) 2009 Google Inc. All rights reserved. |
10 * | 10 * |
(...skipping 924 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
935 setScrollbarsSuppressed(false, true); | 935 setScrollbarsSuppressed(false, true); |
936 } else if (hMode != currentHMode || vMode != currentVMode) { | 936 } else if (hMode != currentHMode || vMode != currentVMode) { |
937 setScrollbarModes(hMode, vMode); | 937 setScrollbarModes(hMode, vMode); |
938 } | 938 } |
939 | 939 |
940 LayoutSize oldSize = m_size; | 940 LayoutSize oldSize = m_size; |
941 | 941 |
942 m_size = LayoutSize(layoutSize().width(), layoutSize().height()); | 942 m_size = LayoutSize(layoutSize().width(), layoutSize().height()); |
943 | 943 |
944 if (oldSize != m_size) { | 944 if (oldSize != m_size) { |
945 shouldDoFullLayout = true; | 945 if (!renderView()->needsResizeLayoutOnly() |
| 946 || (renderView()->style()->isHorizontalWritingMode() |
| 947 ? (oldSize.width() != m_size.width()) : (oldSize.height(
) != m_size.height()))) |
| 948 shouldDoFullLayout = true; |
| 949 |
946 if (!m_firstLayout) { | 950 if (!m_firstLayout) { |
947 RenderBox* rootRenderer = document->documentElement() ? docu
ment->documentElement()->renderBox() : 0; | 951 RenderBox* rootRenderer = document->documentElement() ? docu
ment->documentElement()->renderBox() : 0; |
948 RenderBox* bodyRenderer = rootRenderer && document->body() ?
document->body()->renderBox() : 0; | 952 RenderBox* bodyRenderer = rootRenderer && document->body() ?
document->body()->renderBox() : 0; |
949 if (bodyRenderer && bodyRenderer->stretchesToViewport()) | 953 if (bodyRenderer && bodyRenderer->stretchesToViewport()) |
950 bodyRenderer->setChildNeedsLayout(); | 954 bodyRenderer->setChildNeedsLayout(); |
951 else if (rootRenderer && rootRenderer->stretchesToViewport()
) | 955 else if (rootRenderer && rootRenderer->stretchesToViewport()
) |
952 rootRenderer->setChildNeedsLayout(); | 956 rootRenderer->setChildNeedsLayout(); |
953 } | 957 } |
954 } | 958 } |
955 } | 959 } |
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1739 repaintRect.move(-scrollOffset()); | 1743 repaintRect.move(-scrollOffset()); |
1740 m_trackedRepaintRects.append(repaintRect); | 1744 m_trackedRepaintRects.append(repaintRect); |
1741 } | 1745 } |
1742 | 1746 |
1743 ScrollView::repaintContentRectangle(r); | 1747 ScrollView::repaintContentRectangle(r); |
1744 } | 1748 } |
1745 | 1749 |
1746 void FrameView::contentsResized() | 1750 void FrameView::contentsResized() |
1747 { | 1751 { |
1748 ScrollView::contentsResized(); | 1752 ScrollView::contentsResized(); |
1749 setNeedsLayout(); | 1753 setNeedsResizeLayout(); |
1750 } | 1754 } |
1751 | 1755 |
1752 void FrameView::scrollbarExistenceDidChange() | 1756 void FrameView::scrollbarExistenceDidChange() |
1753 { | 1757 { |
1754 // We check to make sure the view is attached to a frame() as this method ca
n | 1758 // We check to make sure the view is attached to a frame() as this method ca
n |
1755 // be triggered before the view is attached by LocalFrame::createView(...) s
etting | 1759 // be triggered before the view is attached by LocalFrame::createView(...) s
etting |
1756 // various values such as setScrollBarModes(...) for example. An ASSERT is | 1760 // various values such as setScrollBarModes(...) for example. An ASSERT is |
1757 // triggered when a view is layout before being attached to a frame(). | 1761 // triggered when a view is layout before being attached to a frame(). |
1758 if (!frame().view()) | 1762 if (!frame().view()) |
1759 return; | 1763 return; |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1881 || (renderView && renderView->needsLayout()) | 1885 || (renderView && renderView->needsLayout()) |
1882 || isSubtreeLayout(); | 1886 || isSubtreeLayout(); |
1883 } | 1887 } |
1884 | 1888 |
1885 void FrameView::setNeedsLayout() | 1889 void FrameView::setNeedsLayout() |
1886 { | 1890 { |
1887 if (RenderView* renderView = this->renderView()) | 1891 if (RenderView* renderView = this->renderView()) |
1888 renderView->setNeedsLayout(); | 1892 renderView->setNeedsLayout(); |
1889 } | 1893 } |
1890 | 1894 |
| 1895 void FrameView::setNeedsResizeLayout() |
| 1896 { |
| 1897 if (RenderView* renderView = this->renderView()) { |
| 1898 if (m_firstLayout || m_frame->document()->printing()) |
| 1899 renderView->setNeedsLayout(); |
| 1900 else |
| 1901 renderView->setNeedsResizeLayout(); |
| 1902 } |
| 1903 } |
| 1904 |
1891 bool FrameView::isTransparent() const | 1905 bool FrameView::isTransparent() const |
1892 { | 1906 { |
1893 return m_isTransparent; | 1907 return m_isTransparent; |
1894 } | 1908 } |
1895 | 1909 |
1896 void FrameView::setTransparent(bool isTransparent) | 1910 void FrameView::setTransparent(bool isTransparent) |
1897 { | 1911 { |
1898 m_isTransparent = isTransparent; | 1912 m_isTransparent = isTransparent; |
1899 DisableCompositingQueryAsserts disabler; | 1913 DisableCompositingQueryAsserts disabler; |
1900 if (renderView() && renderView()->layer()->hasCompositedLayerMapping()) | 1914 if (renderView() && renderView()->layer()->hasCompositedLayerMapping()) |
(...skipping 1318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3219 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o
rientation) | 3233 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o
rientation) |
3220 { | 3234 { |
3221 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); | 3235 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); |
3222 if (AXObjectCache* cache = axObjectCache()) { | 3236 if (AXObjectCache* cache = axObjectCache()) { |
3223 cache->remove(scrollbar); | 3237 cache->remove(scrollbar); |
3224 cache->handleScrollbarUpdate(this); | 3238 cache->handleScrollbarUpdate(this); |
3225 } | 3239 } |
3226 } | 3240 } |
3227 | 3241 |
3228 } // namespace WebCore | 3242 } // namespace WebCore |
OLD | NEW |