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

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

Issue 418483004: Fix scrollbar damage accumulation issue (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: NeedsRebaseline Created 6 years, 5 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 2326 matching lines...) Expand 10 before | Expand all | Expand 10 after
2337 } 2337 }
2338 frame().loader().client()->didChangeScrollOffset(); 2338 frame().loader().client()->didChangeScrollOffset();
2339 } 2339 }
2340 2340
2341 void FrameView::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rec t) 2341 void FrameView::invalidateScrollbarRect(Scrollbar* scrollbar, const IntRect& rec t)
2342 { 2342 {
2343 // Add in our offset within the FrameView. 2343 // Add in our offset within the FrameView.
2344 IntRect dirtyRect = rect; 2344 IntRect dirtyRect = rect;
2345 dirtyRect.moveBy(scrollbar->location()); 2345 dirtyRect.moveBy(scrollbar->location());
2346 2346
2347 if (isInPerformLayout()) { 2347 if (isInPerformLayout())
2348 if (scrollbar == verticalScrollbar()) { 2348 addScrollbarDamage(scrollbar, rect);
2349 m_verticalBarDamage = dirtyRect; 2349 else
2350 m_hasVerticalBarDamage = true;
2351 } else {
2352 m_horizontalBarDamage = dirtyRect;
2353 m_hasHorizontalBarDamage = true;
2354 }
2355 } else {
2356 invalidateRect(dirtyRect); 2350 invalidateRect(dirtyRect);
2357 }
2358 } 2351 }
2359 2352
2360 void FrameView::getTickmarks(Vector<IntRect>& tickmarks) const 2353 void FrameView::getTickmarks(Vector<IntRect>& tickmarks) const
2361 { 2354 {
2362 if (!m_tickmarks.isEmpty()) 2355 if (!m_tickmarks.isEmpty())
2363 tickmarks = m_tickmarks; 2356 tickmarks = m_tickmarks;
2364 else 2357 else
2365 tickmarks = frame().document()->markers().renderedRectsForMarkers(Docume ntMarker::TextMatch); 2358 tickmarks = frame().document()->markers().renderedRectsForMarkers(Docume ntMarker::TextMatch);
2366 } 2359 }
2367 2360
(...skipping 927 matching lines...) Expand 10 before | Expand all | Expand 10 after
3295 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o rientation) 3288 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o rientation)
3296 { 3289 {
3297 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); 3290 ScrollableArea::willRemoveScrollbar(scrollbar, orientation);
3298 if (AXObjectCache* cache = axObjectCache()) { 3291 if (AXObjectCache* cache = axObjectCache()) {
3299 cache->remove(scrollbar); 3292 cache->remove(scrollbar);
3300 cache->handleScrollbarUpdate(this); 3293 cache->handleScrollbarUpdate(this);
3301 } 3294 }
3302 } 3295 }
3303 3296
3304 } // namespace blink 3297 } // namespace blink
OLDNEW
« no previous file with comments | « LayoutTests/fast/repaint/scrollbar-parts-expected.txt ('k') | Source/core/rendering/RenderLayerScrollableArea.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698