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 1060 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1071 | 1071 |
1072 // FIXME: It should be not possible to remove the FrameView from the frame/p
age during layout | 1072 // FIXME: It should be not possible to remove the FrameView from the frame/p
age during layout |
1073 // however m_inPerformLayout is not set for most of this function, so none o
f our RELEASE_ASSERTS | 1073 // however m_inPerformLayout is not set for most of this function, so none o
f our RELEASE_ASSERTS |
1074 // in LocalFrame/Page will fire. One of the post-layout tasks is disconnecti
ng the LocalFrame from | 1074 // in LocalFrame/Page will fire. One of the post-layout tasks is disconnecti
ng the LocalFrame from |
1075 // the page in fast/frames/crash-remove-iframe-during-object-beforeload-2.ht
ml | 1075 // the page in fast/frames/crash-remove-iframe-during-object-beforeload-2.ht
ml |
1076 // necessitating this check here. | 1076 // necessitating this check here. |
1077 // ASSERT(frame()->page()); | 1077 // ASSERT(frame()->page()); |
1078 if (frame().page()) | 1078 if (frame().page()) |
1079 frame().page()->chrome().client().layoutUpdated(m_frame.get()); | 1079 frame().page()->chrome().client().layoutUpdated(m_frame.get()); |
1080 | 1080 |
1081 frame().document()->markers().updateRenderedRectsForMarkers(); | 1081 DocumentMarkerController& markers = frame().document()->markers(); |
| 1082 markers.updateRenderedRectsForMarkers(); |
| 1083 if (markers.textMatchMarkersRemovedOrChanged()) { |
| 1084 invalidatePaintOfTickmarks(); |
| 1085 markers.resetTextMatchMarkersRemovedOrChanged(); |
| 1086 } |
1082 } | 1087 } |
1083 | 1088 |
1084 // The plan is to move to compositor-queried paint invalidation, in which case t
his | 1089 // The plan is to move to compositor-queried paint invalidation, in which case t
his |
1085 // method would setNeedsRedraw on the GraphicsLayers with invalidations and | 1090 // method would setNeedsRedraw on the GraphicsLayers with invalidations and |
1086 // let the compositor pick which to actually draw. | 1091 // let the compositor pick which to actually draw. |
1087 // See http://crbug.com/306706 | 1092 // See http://crbug.com/306706 |
1088 void FrameView::invalidateTreeIfNeeded(Vector<LayoutObject*>& pendingDelayedPain
tInvalidations) | 1093 void FrameView::invalidateTreeIfNeeded(Vector<LayoutObject*>& pendingDelayedPain
tInvalidations) |
1089 { | 1094 { |
1090 ASSERT(layoutView()); | 1095 ASSERT(layoutView()); |
1091 LayoutView& rootForPaintInvalidation = *layoutView(); | 1096 LayoutView& rootForPaintInvalidation = *layoutView(); |
(...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2226 m_scrollPosition = newPosition; | 2231 m_scrollPosition = newPosition; |
2227 | 2232 |
2228 if (!scrollbarsSuppressed()) | 2233 if (!scrollbarsSuppressed()) |
2229 m_pendingScrollDelta += scrollDelta; | 2234 m_pendingScrollDelta += scrollDelta; |
2230 | 2235 |
2231 updateLayersAndCompositingAfterScrollIfNeeded(); | 2236 updateLayersAndCompositingAfterScrollIfNeeded(); |
2232 scrollPositionChanged(); | 2237 scrollPositionChanged(); |
2233 frame().loader().client()->didChangeScrollOffset(); | 2238 frame().loader().client()->didChangeScrollOffset(); |
2234 } | 2239 } |
2235 | 2240 |
| 2241 void FrameView::invalidatePaintOfTickmarks() const |
| 2242 { |
| 2243 if (Scrollbar* scrollbar = verticalScrollbar()) |
| 2244 scrollbar->invalidate(); |
| 2245 } |
| 2246 |
2236 void FrameView::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rec
t) | 2247 void FrameView::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rec
t) |
2237 { | 2248 { |
2238 // Add in our offset within the FrameView. | 2249 // Add in our offset within the FrameView. |
2239 IntRect dirtyRect = rect; | 2250 IntRect dirtyRect = rect; |
2240 dirtyRect.moveBy(scrollbar->location()); | 2251 dirtyRect.moveBy(scrollbar->location()); |
2241 | 2252 |
2242 layoutView()->invalidateDisplayItemClient(*scrollbar); | 2253 layoutView()->invalidateDisplayItemClient(*scrollbar); |
2243 | 2254 |
2244 if (isInPerformLayout()) | 2255 if (isInPerformLayout()) |
2245 addScrollbarDamage(scrollbar, rect); | 2256 addScrollbarDamage(scrollbar, rect); |
(...skipping 1817 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4063 { | 4074 { |
4064 Settings* settings = frame().settings(); | 4075 Settings* settings = frame().settings(); |
4065 if (!settings || !settings->rootLayerScrolls()) | 4076 if (!settings || !settings->rootLayerScrolls()) |
4066 return this; | 4077 return this; |
4067 | 4078 |
4068 LayoutView* layoutView = this->layoutView(); | 4079 LayoutView* layoutView = this->layoutView(); |
4069 return layoutView ? layoutView->scrollableArea() : nullptr; | 4080 return layoutView ? layoutView->scrollableArea() : nullptr; |
4070 } | 4081 } |
4071 | 4082 |
4072 } // namespace blink | 4083 } // namespace blink |
OLD | NEW |