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

Side by Side Diff: third_party/WebKit/Source/platform/scroll/ScrollbarThemeMac.mm

Issue 2045963003: WebScrollbarThemeClientImpl should not be DisplayItemClient (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2008, 2011 Apple Inc. All Rights Reserved. 2 * Copyright (C) 2008, 2011 Apple 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 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 static bool globalSupportsExpandedScrollbars = [NSClassFromString(@"NSScroll erImp") instancesRespondToSelector:@selector(setExpanded:)]; 130 static bool globalSupportsExpandedScrollbars = [NSClassFromString(@"NSScroll erImp") instancesRespondToSelector:@selector(setExpanded:)];
131 return globalSupportsExpandedScrollbars; 131 return globalSupportsExpandedScrollbars;
132 } 132 }
133 133
134 ScrollbarTheme& ScrollbarTheme::nativeTheme() 134 ScrollbarTheme& ScrollbarTheme::nativeTheme()
135 { 135 {
136 DEFINE_STATIC_LOCAL(ScrollbarThemeMac, overlayTheme, ()); 136 DEFINE_STATIC_LOCAL(ScrollbarThemeMac, overlayTheme, ());
137 return overlayTheme; 137 return overlayTheme;
138 } 138 }
139 139
140 void ScrollbarThemeMac::paintGivenTickmarks(SkCanvas* canvas, const ScrollbarThe meClient& scrollbar, const IntRect& rect, const Vector<IntRect>& tickmarks) 140 void ScrollbarThemeMac::paintGivenTickmarks(SkCanvas* canvas, const Scrollbar& s crollbar, const IntRect& rect, const Vector<IntRect>& tickmarks)
141 { 141 {
142 if (scrollbar.orientation() != VerticalScrollbar) 142 if (scrollbar.orientation() != VerticalScrollbar)
143 return; 143 return;
144 144
145 if (rect.height() <= 0 || rect.width() <= 0) 145 if (rect.height() <= 0 || rect.width() <= 0)
146 return; // nothing to draw on. 146 return; // nothing to draw on.
147 147
148 if (!tickmarks.size()) 148 if (!tickmarks.size())
149 return; 149 return;
150 150
(...skipping 18 matching lines...) Expand all
169 // Calculate how far down (in pixels) the tick-mark should appear. 169 // Calculate how far down (in pixels) the tick-mark should appear.
170 const int yPos = rect.y() + (rect.height() * percent); 170 const int yPos = rect.y() + (rect.height() * percent);
171 171
172 // Paint. 172 // Paint.
173 FloatRect tickRect(rect.x(), yPos, rect.width(), 2); 173 FloatRect tickRect(rect.x(), yPos, rect.width(), 2);
174 canvas->drawRect(tickRect, fillPaint); 174 canvas->drawRect(tickRect, fillPaint);
175 canvas->drawRect(tickRect, strokePaint); 175 canvas->drawRect(tickRect, strokePaint);
176 } 176 }
177 } 177 }
178 178
179 void ScrollbarThemeMac::paintTickmarks(GraphicsContext& context, const Scrollbar ThemeClient& scrollbar, const IntRect& rect) 179 void ScrollbarThemeMac::paintTickmarks(GraphicsContext& context, const Scrollbar & scrollbar, const IntRect& rect)
180 { 180 {
181 // Note: This is only used for css-styled scrollbars on mac. 181 // Note: This is only used for css-styled scrollbars on mac.
182 if (scrollbar.orientation() != VerticalScrollbar) 182 if (scrollbar.orientation() != VerticalScrollbar)
183 return; 183 return;
184 184
185 if (rect.height() <= 0 || rect.width() <= 0) 185 if (rect.height() <= 0 || rect.width() <= 0)
186 return; 186 return;
187 187
188 Vector<IntRect> tickmarks; 188 Vector<IntRect> tickmarks;
189 scrollbar.getTickmarks(tickmarks); 189 scrollbar.getTickmarks(tickmarks);
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
286 scrollbarPainterMap().set(&scrollbar, observer); 286 scrollbarPainterMap().set(&scrollbar, observer);
287 updateEnabledState(scrollbar); 287 updateEnabledState(scrollbar);
288 updateScrollbarOverlayStyle(scrollbar); 288 updateScrollbarOverlayStyle(scrollbar);
289 } 289 }
290 290
291 ScrollbarPainter ScrollbarThemeMac::painterForScrollbar(const ScrollbarThemeClie nt& scrollbar) const 291 ScrollbarPainter ScrollbarThemeMac::painterForScrollbar(const ScrollbarThemeClie nt& scrollbar) const
292 { 292 {
293 return [scrollbarPainterMap().get(const_cast<ScrollbarThemeClient*>(&scrollb ar)).get() painter]; 293 return [scrollbarPainterMap().get(const_cast<ScrollbarThemeClient*>(&scrollb ar)).get() painter];
294 } 294 }
295 295
296 void ScrollbarThemeMac::paintTrackBackground(GraphicsContext& context, const Scr ollbarThemeClient& scrollbar, const IntRect& rect) { 296 void ScrollbarThemeMac::paintTrackBackground(GraphicsContext& context, const Scr ollbar& scrollbar, const IntRect& rect) {
297 if (DrawingRecorder::useCachedDrawingIfPossible(context, scrollbar, DisplayI tem::ScrollbarTrackBackground)) 297 if (DrawingRecorder::useCachedDrawingIfPossible(context, scrollbar, DisplayI tem::ScrollbarTrackBackground))
298 return; 298 return;
299 299
300 DrawingRecorder recorder(context, scrollbar, DisplayItem::ScrollbarTrackBack ground, rect); 300 DrawingRecorder recorder(context, scrollbar, DisplayItem::ScrollbarTrackBack ground, rect);
301 301
302 GraphicsContextStateSaver stateSaver(context); 302 GraphicsContextStateSaver stateSaver(context);
303 context.translate(rect.x(), rect.y()); 303 context.translate(rect.x(), rect.y());
304 LocalCurrentGraphicsContext localContext(context, IntRect(IntPoint(), rect.s ize())); 304 LocalCurrentGraphicsContext localContext(context, IntRect(IntPoint(), rect.s ize()));
305 305
306 CGRect frameRect = scrollbar.frameRect(); 306 CGRect frameRect = scrollbar.frameRect();
307 ScrollbarPainter scrollbarPainter = painterForScrollbar(scrollbar); 307 ScrollbarPainter scrollbarPainter = painterForScrollbar(scrollbar);
308 [scrollbarPainter setEnabled:scrollbar.enabled()]; 308 [scrollbarPainter setEnabled:scrollbar.enabled()];
309 [scrollbarPainter setBoundsSize: NSSizeFromCGSize(frameRect.size)]; 309 [scrollbarPainter setBoundsSize: NSSizeFromCGSize(frameRect.size)];
310 NSRect trackRect = NSMakeRect(0, 0, frameRect.size.width, frameRect.size.hei ght); 310 NSRect trackRect = NSMakeRect(0, 0, frameRect.size.width, frameRect.size.hei ght);
311 [scrollbarPainter drawKnobSlotInRect:trackRect highlight:NO]; 311 [scrollbarPainter drawKnobSlotInRect:trackRect highlight:NO];
312 } 312 }
313 313
314 void ScrollbarThemeMac::paintThumb(GraphicsContext& context, const ScrollbarThem eClient& scrollbar, const IntRect& rect) { 314 void ScrollbarThemeMac::paintThumb(GraphicsContext& context, const Scrollbar& sc rollbar, const IntRect& rect) {
315 if (DrawingRecorder::useCachedDrawingIfPossible(context, scrollbar, DisplayI tem::ScrollbarThumb)) 315 if (DrawingRecorder::useCachedDrawingIfPossible(context, scrollbar, DisplayI tem::ScrollbarThumb))
316 return; 316 return;
317 317
318 // Expand dirty rect to allow for scroll thumb anti-aliasing in minimum thum b size case. 318 // Expand dirty rect to allow for scroll thumb anti-aliasing in minimum thum b size case.
319 IntRect dirtyRect = IntRect(rect); 319 IntRect dirtyRect = IntRect(rect);
320 dirtyRect.inflate(1); 320 dirtyRect.inflate(1);
321 DrawingRecorder recorder(context, scrollbar, DisplayItem::ScrollbarThumb, di rtyRect); 321 DrawingRecorder recorder(context, scrollbar, DisplayItem::ScrollbarThumb, di rtyRect);
322 322
323 GraphicsContextStateSaver stateSaver(context); 323 GraphicsContextStateSaver stateSaver(context);
324 context.translate(rect.x(), rect.y()); 324 context.translate(rect.x(), rect.y());
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 428
429 // static 429 // static
430 NSScrollerStyle ScrollbarThemeMac::recommendedScrollerStyle() 430 NSScrollerStyle ScrollbarThemeMac::recommendedScrollerStyle()
431 { 431 {
432 if (RuntimeEnabledFeatures::overlayScrollbarsEnabled()) 432 if (RuntimeEnabledFeatures::overlayScrollbarsEnabled())
433 return NSScrollerStyleOverlay; 433 return NSScrollerStyleOverlay;
434 return gPreferredScrollerStyle; 434 return gPreferredScrollerStyle;
435 } 435 }
436 436
437 } // namespace blink 437 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698