| 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 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 101 #include "wtf/TemporaryChange.h" | 101 #include "wtf/TemporaryChange.h" |
| 102 | 102 |
| 103 namespace blink { | 103 namespace blink { |
| 104 | 104 |
| 105 using namespace HTMLNames; | 105 using namespace HTMLNames; |
| 106 | 106 |
| 107 // The maximum number of updateWidgets iterations that should be done before ret
urning. | 107 // The maximum number of updateWidgets iterations that should be done before ret
urning. |
| 108 static const unsigned maxUpdateWidgetsIterations = 2; | 108 static const unsigned maxUpdateWidgetsIterations = 2; |
| 109 static const double resourcePriorityUpdateDelayAfterScroll = 0.250; | 109 static const double resourcePriorityUpdateDelayAfterScroll = 0.250; |
| 110 | 110 |
| 111 static bool s_initialTrackAllPaintInvalidations = false; |
| 112 |
| 111 FrameView::FrameView(LocalFrame* frame) | 113 FrameView::FrameView(LocalFrame* frame) |
| 112 : m_frame(frame) | 114 : m_frame(frame) |
| 113 , m_displayMode(WebDisplayModeBrowser) | 115 , m_displayMode(WebDisplayModeBrowser) |
| 114 , m_canHaveScrollbars(true) | 116 , m_canHaveScrollbars(true) |
| 115 , m_slowRepaintObjectCount(0) | 117 , m_slowRepaintObjectCount(0) |
| 116 , m_hasPendingLayout(false) | 118 , m_hasPendingLayout(false) |
| 117 , m_inSynchronousPostLayout(false) | 119 , m_inSynchronousPostLayout(false) |
| 118 , m_postLayoutTasksTimer(this, &FrameView::postLayoutTimerFired) | 120 , m_postLayoutTasksTimer(this, &FrameView::postLayoutTimerFired) |
| 119 , m_updateWidgetsTimer(this, &FrameView::updateWidgetsTimerFired) | 121 , m_updateWidgetsTimer(this, &FrameView::updateWidgetsTimerFired) |
| 120 , m_isTransparent(false) | 122 , m_isTransparent(false) |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 m_inPerformLayout = false; | 201 m_inPerformLayout = false; |
| 200 m_inSynchronousPostLayout = false; | 202 m_inSynchronousPostLayout = false; |
| 201 m_layoutCount = 0; | 203 m_layoutCount = 0; |
| 202 m_nestedLayoutCount = 0; | 204 m_nestedLayoutCount = 0; |
| 203 m_postLayoutTasksTimer.stop(); | 205 m_postLayoutTasksTimer.stop(); |
| 204 m_updateWidgetsTimer.stop(); | 206 m_updateWidgetsTimer.stop(); |
| 205 m_firstLayout = true; | 207 m_firstLayout = true; |
| 206 m_safeToPropagateScrollToParent = true; | 208 m_safeToPropagateScrollToParent = true; |
| 207 m_lastViewportSize = IntSize(); | 209 m_lastViewportSize = IntSize(); |
| 208 m_lastZoomFactor = 1.0f; | 210 m_lastZoomFactor = 1.0f; |
| 209 m_isTrackingPaintInvalidations = false; | 211 m_isTrackingPaintInvalidations = s_initialTrackAllPaintInvalidations; |
| 210 m_trackedPaintInvalidationRects.clear(); | 212 m_trackedPaintInvalidationRects.clear(); |
| 211 m_lastPaintTime = 0; | 213 m_lastPaintTime = 0; |
| 212 m_isPainting = false; | 214 m_isPainting = false; |
| 213 m_visuallyNonEmptyCharacterCount = 0; | 215 m_visuallyNonEmptyCharacterCount = 0; |
| 214 m_visuallyNonEmptyPixelCount = 0; | 216 m_visuallyNonEmptyPixelCount = 0; |
| 215 m_isVisuallyNonEmpty = false; | 217 m_isVisuallyNonEmpty = false; |
| 216 clearScrollAnchor(); | 218 clearScrollAnchor(); |
| 217 m_viewportConstrainedObjects.clear(); | 219 m_viewportConstrainedObjects.clear(); |
| 218 m_layoutSubtreeRootList.clear(); | 220 m_layoutSubtreeRootList.clear(); |
| 219 } | 221 } |
| (...skipping 1427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1647 Page* page = frame().page(); | 1649 Page* page = frame().page(); |
| 1648 if (!page) | 1650 if (!page) |
| 1649 return nullptr; | 1651 return nullptr; |
| 1650 return &page->chromeClient(); | 1652 return &page->chromeClient(); |
| 1651 } | 1653 } |
| 1652 | 1654 |
| 1653 void FrameView::contentRectangleForPaintInvalidation(const IntRect& rectInConten
t) | 1655 void FrameView::contentRectangleForPaintInvalidation(const IntRect& rectInConten
t) |
| 1654 { | 1656 { |
| 1655 ASSERT(!m_frame->ownerLayoutObject()); | 1657 ASSERT(!m_frame->ownerLayoutObject()); |
| 1656 | 1658 |
| 1657 if (m_isTrackingPaintInvalidations) { | |
| 1658 m_trackedPaintInvalidationRects.append(contentsToFrame(rectInContent)); | |
| 1659 // FIXME: http://crbug.com/368518. Eventually, invalidateContentRectangl
eForPaint | |
| 1660 // is going away entirely once all layout tests are FCM. In the short | |
| 1661 // term, no code should be tracking non-composited FrameView paint inval
idations. | |
| 1662 RELEASE_ASSERT_NOT_REACHED(); | |
| 1663 } | |
| 1664 | |
| 1665 IntRect paintRect = rectInContent; | 1659 IntRect paintRect = rectInContent; |
| 1666 if (clipsPaintInvalidations()) | 1660 if (clipsPaintInvalidations()) |
| 1667 paintRect.intersect(visibleContentRect()); | 1661 paintRect.intersect(visibleContentRect()); |
| 1668 if (paintRect.isEmpty()) | 1662 if (paintRect.isEmpty()) |
| 1669 return; | 1663 return; |
| 1670 | 1664 |
| 1671 if (HostWindow* window = hostWindow()) | 1665 if (HostWindow* window = hostWindow()) |
| 1672 window->invalidateRect(contentsToRootFrame(paintRect)); | 1666 window->invalidateRect(contentsToRootFrame(paintRect)); |
| 1673 } | 1667 } |
| 1674 | 1668 |
| (...skipping 1141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2816 IntPoint point = parentView->convertToLayoutObject(*layoutObject, parent
Point); | 2810 IntPoint point = parentView->convertToLayoutObject(*layoutObject, parent
Point); |
| 2817 // Subtract borders and padding | 2811 // Subtract borders and padding |
| 2818 point.move(-layoutObject->borderLeft() - layoutObject->paddingLeft(), | 2812 point.move(-layoutObject->borderLeft() - layoutObject->paddingLeft(), |
| 2819 -layoutObject->borderTop() - layoutObject->paddingTop()); | 2813 -layoutObject->borderTop() - layoutObject->paddingTop()); |
| 2820 return point; | 2814 return point; |
| 2821 } | 2815 } |
| 2822 | 2816 |
| 2823 return parentPoint; | 2817 return parentPoint; |
| 2824 } | 2818 } |
| 2825 | 2819 |
| 2820 void FrameView::setInitialTracksPaintInvalidationsForUnitTestsOnly(bool trackPai
ntInvalidations) |
| 2821 { |
| 2822 s_initialTrackAllPaintInvalidations = trackPaintInvalidations; |
| 2823 } |
| 2824 |
| 2826 void FrameView::setTracksPaintInvalidations(bool trackPaintInvalidations) | 2825 void FrameView::setTracksPaintInvalidations(bool trackPaintInvalidations) |
| 2827 { | 2826 { |
| 2828 if (trackPaintInvalidations == m_isTrackingPaintInvalidations) | 2827 if (trackPaintInvalidations == m_isTrackingPaintInvalidations) |
| 2829 return; | 2828 return; |
| 2830 | 2829 |
| 2831 for (Frame* frame = m_frame->tree().top(); frame; frame = frame->tree().trav
erseNext()) { | 2830 for (Frame* frame = m_frame->tree().top(); frame; frame = frame->tree().trav
erseNext()) { |
| 2832 if (!frame->isLocalFrame()) | 2831 if (!frame->isLocalFrame()) |
| 2833 continue; | 2832 continue; |
| 2834 if (LayoutView* layoutView = toLocalFrame(frame)->contentLayoutObject()) | 2833 if (LayoutView* layoutView = toLocalFrame(frame)->contentLayoutObject()) |
| 2835 layoutView->compositor()->setTracksPaintInvalidations(trackPaintInva
lidations); | 2834 layoutView->compositor()->setTracksPaintInvalidations(trackPaintInva
lidations); |
| (...skipping 1135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3971 | 3970 |
| 3972 if (!graphicsLayer) | 3971 if (!graphicsLayer) |
| 3973 return; | 3972 return; |
| 3974 | 3973 |
| 3975 DeprecatedPaintLayer::mapRectToPaintInvalidationBacking(localFrame->contentL
ayoutObject(), paintInvalidationContainer, viewRect); | 3974 DeprecatedPaintLayer::mapRectToPaintInvalidationBacking(localFrame->contentL
ayoutObject(), paintInvalidationContainer, viewRect); |
| 3976 | 3975 |
| 3977 graphicsLayerTimingRequests.add(graphicsLayer, Vector<std::pair<int64_t, Web
Rect>>()).storedValue->value.append(std::make_pair(m_frame->frameID(), enclosing
IntRect(viewRect))); | 3976 graphicsLayerTimingRequests.add(graphicsLayer, Vector<std::pair<int64_t, Web
Rect>>()).storedValue->value.append(std::make_pair(m_frame->frameID(), enclosing
IntRect(viewRect))); |
| 3978 } | 3977 } |
| 3979 | 3978 |
| 3980 } // namespace blink | 3979 } // namespace blink |
| OLD | NEW |