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 1071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1082 | 1082 |
1083 #if ENABLE(ASSERT) | 1083 #if ENABLE(ASSERT) |
1084 layoutView()->assertSubtreeClearedPaintInvalidationState(); | 1084 layoutView()->assertSubtreeClearedPaintInvalidationState(); |
1085 #endif | 1085 #endif |
1086 | 1086 |
1087 if (m_frame->selection().isCaretBoundsDirty()) | 1087 if (m_frame->selection().isCaretBoundsDirty()) |
1088 m_frame->selection().invalidateCaretRect(); | 1088 m_frame->selection().invalidateCaretRect(); |
1089 | 1089 |
1090 m_doFullPaintInvalidation = false; | 1090 m_doFullPaintInvalidation = false; |
1091 lifecycle().advanceTo(DocumentLifecycle::PaintInvalidationClean); | 1091 lifecycle().advanceTo(DocumentLifecycle::PaintInvalidationClean); |
| 1092 |
| 1093 if (RuntimeEnabledFeatures::intersectionObserverEnabled()) { |
| 1094 computeIntersectionObservations(paintInvalidationState); |
| 1095 } |
| 1096 } |
| 1097 |
| 1098 void FrameView::computeIntersectionObservations(PaintInvalidationState& paintInv
alidationState) |
| 1099 { |
| 1100 ASSERT(layoutView()); |
| 1101 |
| 1102 if (FrameView* parent = parentFrameView()) { |
| 1103 m_clippedBounds = IntRect(frameRect().location(), paintInvalidationState
.clipRect().pixelSnappedSize()); |
| 1104 m_clippedBounds = parent->contentsToRootFrame(m_clippedBounds); |
| 1105 m_clippedBounds.intersect(parent->contentsToRootFrame(parent->m_clippedB
ounds)); |
| 1106 if (!m_clippedBounds.isEmpty()) |
| 1107 m_clippedBounds = rootFrameToContents(m_clippedBounds); |
| 1108 } else { |
| 1109 m_clippedBounds = pixelSnappedIntRect(paintInvalidationState.clipRect())
; |
| 1110 } |
| 1111 |
| 1112 layoutView()->computeIntersectionObservations(FloatRect(m_clippedBounds)); |
1092 } | 1113 } |
1093 | 1114 |
1094 DocumentLifecycle& FrameView::lifecycle() const | 1115 DocumentLifecycle& FrameView::lifecycle() const |
1095 { | 1116 { |
1096 return m_frame->document()->lifecycle(); | 1117 return m_frame->document()->lifecycle(); |
1097 } | 1118 } |
1098 | 1119 |
1099 LayoutBox* FrameView::embeddedContentBox() const | 1120 LayoutBox* FrameView::embeddedContentBox() const |
1100 { | 1121 { |
1101 LayoutView* layoutView = this->layoutView(); | 1122 LayoutView* layoutView = this->layoutView(); |
(...skipping 2812 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3914 | 3935 |
3915 if (!graphicsLayer) | 3936 if (!graphicsLayer) |
3916 return; | 3937 return; |
3917 | 3938 |
3918 DeprecatedPaintLayer::mapRectToPaintInvalidationBacking(localFrame->contentL
ayoutObject(), paintInvalidationContainer, viewRect); | 3939 DeprecatedPaintLayer::mapRectToPaintInvalidationBacking(localFrame->contentL
ayoutObject(), paintInvalidationContainer, viewRect); |
3919 | 3940 |
3920 graphicsLayerTimingRequests.add(graphicsLayer, Vector<std::pair<int64_t, Web
Rect>>()).storedValue->value.append(std::make_pair(m_frame->frameID(), enclosing
IntRect(viewRect))); | 3941 graphicsLayerTimingRequests.add(graphicsLayer, Vector<std::pair<int64_t, Web
Rect>>()).storedValue->value.append(std::make_pair(m_frame->frameID(), enclosing
IntRect(viewRect))); |
3921 } | 3942 } |
3922 | 3943 |
3923 } // namespace blink | 3944 } // namespace blink |
OLD | NEW |