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

Side by Side Diff: Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp

Issue 10574034: Merge 120640 - [chromium] REGRESSION(r120346) ContentLayerPainter should clear rect to be painted (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1180/
Patch Set: Created 8 years, 6 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
« no previous file with comments | « Source/WebCore/platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 static PassOwnPtr<ScrollbarBackgroundPainter> create(ScrollbarThemeClient* s crollbar, ScrollbarThemeComposite* theme) 109 static PassOwnPtr<ScrollbarBackgroundPainter> create(ScrollbarThemeClient* s crollbar, ScrollbarThemeComposite* theme)
110 { 110 {
111 return adoptPtr(new ScrollbarBackgroundPainter(scrollbar, theme)); 111 return adoptPtr(new ScrollbarBackgroundPainter(scrollbar, theme));
112 } 112 }
113 113
114 virtual void paint(SkCanvas* canvas, const IntRect& contentRect, IntRect&) O VERRIDE 114 virtual void paint(SkCanvas* canvas, const IntRect& contentRect, IntRect&) O VERRIDE
115 { 115 {
116 PlatformContextSkia platformContext(canvas); 116 PlatformContextSkia platformContext(canvas);
117 platformContext.setDrawingToImageBuffer(true); 117 platformContext.setDrawingToImageBuffer(true);
118 GraphicsContext context(&platformContext); 118 GraphicsContext context(&platformContext);
119 context.clearRect(contentRect);
120 context.clip(contentRect);
121 119
122 // The following is a simplification of ScrollbarThemeComposite::paint. 120 // The following is a simplification of ScrollbarThemeComposite::paint.
123 m_theme->paintScrollbarBackground(&context, m_scrollbar); 121 m_theme->paintScrollbarBackground(&context, m_scrollbar);
124 122
125 if (m_theme->hasButtons(m_scrollbar)) { 123 if (m_theme->hasButtons(m_scrollbar)) {
126 IntRect backButtonStartPaintRect = m_theme->backButtonRect(m_scrollb ar, BackButtonStartPart, true); 124 IntRect backButtonStartPaintRect = m_theme->backButtonRect(m_scrollb ar, BackButtonStartPart, true);
127 m_theme->paintButton(&context, m_scrollbar, backButtonStartPaintRect , BackButtonStartPart); 125 m_theme->paintButton(&context, m_scrollbar, backButtonStartPaintRect , BackButtonStartPart);
128 126
129 IntRect backButtonEndPaintRect = m_theme->backButtonRect(m_scrollbar , BackButtonEndPart, true); 127 IntRect backButtonEndPaintRect = m_theme->backButtonRect(m_scrollbar , BackButtonEndPart, true);
130 m_theme->paintButton(&context, m_scrollbar, backButtonEndPaintRect, BackButtonEndPart); 128 m_theme->paintButton(&context, m_scrollbar, backButtonEndPaintRect, BackButtonEndPart);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 { 167 {
170 return adoptPtr(new ScrollbarThumbPainter(scrollbar, theme)); 168 return adoptPtr(new ScrollbarThumbPainter(scrollbar, theme));
171 } 169 }
172 170
173 virtual void paint(SkCanvas* canvas, const IntRect& contentRect, IntRect& op aque) OVERRIDE 171 virtual void paint(SkCanvas* canvas, const IntRect& contentRect, IntRect& op aque) OVERRIDE
174 { 172 {
175 PlatformContextSkia platformContext(canvas); 173 PlatformContextSkia platformContext(canvas);
176 platformContext.setDrawingToImageBuffer(true); 174 platformContext.setDrawingToImageBuffer(true);
177 GraphicsContext context(&platformContext); 175 GraphicsContext context(&platformContext);
178 176
179 context.clearRect(contentRect);
180
181 // Consider the thumb to be at the origin when painting. 177 // Consider the thumb to be at the origin when painting.
182 IntRect thumbRect = IntRect(IntPoint(), m_theme->thumbRect(m_scrollbar). size()); 178 IntRect thumbRect = IntRect(IntPoint(), m_theme->thumbRect(m_scrollbar). size());
183 m_theme->paintThumb(&context, m_scrollbar, thumbRect); 179 m_theme->paintThumb(&context, m_scrollbar, thumbRect);
184 } 180 }
185 181
186 private: 182 private:
187 ScrollbarThumbPainter(ScrollbarThemeClient* scrollbar, ScrollbarThemeComposi te* theme) 183 ScrollbarThumbPainter(ScrollbarThemeClient* scrollbar, ScrollbarThemeComposi te* theme)
188 : m_scrollbar(scrollbar) 184 : m_scrollbar(scrollbar)
189 , m_theme(theme) 185 , m_theme(theme)
190 { 186 {
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 updatePart(m_backgroundUpdater.get(), m_background.get(), contentRect, updat er); 256 updatePart(m_backgroundUpdater.get(), m_background.get(), contentRect, updat er);
261 257
262 // Consider the thumb to be at the origin when painting. 258 // Consider the thumb to be at the origin when painting.
263 IntRect thumbRect = IntRect(IntPoint(), theme()->thumbRect(m_scrollbar.get() ).size()); 259 IntRect thumbRect = IntRect(IntPoint(), theme()->thumbRect(m_scrollbar.get() ).size());
264 if (!thumbRect.isEmpty()) 260 if (!thumbRect.isEmpty())
265 updatePart(m_thumbUpdater.get(), m_thumb.get(), thumbRect, updater); 261 updatePart(m_thumbUpdater.get(), m_thumb.get(), thumbRect, updater);
266 } 262 }
267 263
268 } 264 }
269 #endif // USE(ACCELERATED_COMPOSITING) 265 #endif // USE(ACCELERATED_COMPOSITING)
OLDNEW
« no previous file with comments | « Source/WebCore/platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698