Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(13)

Side by Side Diff: Source/core/frame/FrameView.cpp

Issue 1053123007: Invalidate paint of tickmarks on document change (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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();
chrishtr 2015/04/20 17:53:25 The change here looks unnecessary.
Xianzhu 2015/04/20 18:13:48 Done.
1082 markers.updateRenderedRectsForMarkers();
1082 } 1083 }
1083 1084
1084 // The plan is to move to compositor-queried paint invalidation, in which case t his 1085 // 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 1086 // method would setNeedsRedraw on the GraphicsLayers with invalidations and
1086 // let the compositor pick which to actually draw. 1087 // let the compositor pick which to actually draw.
1087 // See http://crbug.com/306706 1088 // See http://crbug.com/306706
1088 void FrameView::invalidateTreeIfNeeded(Vector<LayoutObject*>& pendingDelayedPain tInvalidations) 1089 void FrameView::invalidateTreeIfNeeded(Vector<LayoutObject*>& pendingDelayedPain tInvalidations)
1089 { 1090 {
1090 ASSERT(layoutView()); 1091 ASSERT(layoutView());
1091 LayoutView& rootForPaintInvalidation = *layoutView(); 1092 LayoutView& rootForPaintInvalidation = *layoutView();
(...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after
2226 m_scrollPosition = newPosition; 2227 m_scrollPosition = newPosition;
2227 2228
2228 if (!scrollbarsSuppressed()) 2229 if (!scrollbarsSuppressed())
2229 m_pendingScrollDelta += scrollDelta; 2230 m_pendingScrollDelta += scrollDelta;
2230 2231
2231 updateLayersAndCompositingAfterScrollIfNeeded(); 2232 updateLayersAndCompositingAfterScrollIfNeeded();
2232 scrollPositionChanged(); 2233 scrollPositionChanged();
2233 frame().loader().client()->didChangeScrollOffset(); 2234 frame().loader().client()->didChangeScrollOffset();
2234 } 2235 }
2235 2236
2237 void FrameView::invalidatePaintForTickmarks() const
2238 {
2239 if (Scrollbar* scrollbar = verticalScrollbar())
2240 scrollbar->invalidate();
2241 }
2242
2236 void FrameView::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rec t) 2243 void FrameView::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rec t)
2237 { 2244 {
2238 // Add in our offset within the FrameView. 2245 // Add in our offset within the FrameView.
2239 IntRect dirtyRect = rect; 2246 IntRect dirtyRect = rect;
2240 dirtyRect.moveBy(scrollbar->location()); 2247 dirtyRect.moveBy(scrollbar->location());
2241 2248
2242 layoutView()->invalidateDisplayItemClient(*scrollbar); 2249 layoutView()->invalidateDisplayItemClient(*scrollbar);
2243 2250
2244 if (isInPerformLayout()) 2251 if (isInPerformLayout())
2245 addScrollbarDamage(scrollbar, rect); 2252 addScrollbarDamage(scrollbar, rect);
(...skipping 1817 matching lines...) Expand 10 before | Expand all | Expand 10 after
4063 { 4070 {
4064 Settings* settings = frame().settings(); 4071 Settings* settings = frame().settings();
4065 if (!settings || !settings->rootLayerScrolls()) 4072 if (!settings || !settings->rootLayerScrolls())
4066 return this; 4073 return this;
4067 4074
4068 LayoutView* layoutView = this->layoutView(); 4075 LayoutView* layoutView = this->layoutView();
4069 return layoutView ? layoutView->scrollableArea() : nullptr; 4076 return layoutView ? layoutView->scrollableArea() : nullptr;
4070 } 4077 }
4071 4078
4072 } // namespace blink 4079 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698