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

Side by Side Diff: Source/platform/scroll/ScrollbarThemeMacCommon.mm

Issue 1234783005: Add API to send NSUserDefault values over IPC, while preserving current behavior (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 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
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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 60
61 static ScrollbarSet& scrollbarSet() 61 static ScrollbarSet& scrollbarSet()
62 { 62 {
63 DEFINE_STATIC_LOCAL(ScrollbarSet, set, ()); 63 DEFINE_STATIC_LOCAL(ScrollbarSet, set, ());
64 return set; 64 return set;
65 } 65 }
66 66
67 static float gInitialButtonDelay = 0.5f; 67 static float gInitialButtonDelay = 0.5f;
68 static float gAutoscrollButtonDelay = 0.05f; 68 static float gAutoscrollButtonDelay = 0.05f;
69 static NSScrollerStyle gPreferredScrollerStyle = NSScrollerStyleLegacy; 69 static NSScrollerStyle gPreferredScrollerStyle = NSScrollerStyleLegacy;
70 static bool gScrollAnimationEnabledForSystem = false;
70 71
71 ScrollbarTheme* ScrollbarTheme::nativeTheme() 72 ScrollbarTheme* ScrollbarTheme::nativeTheme()
72 { 73 {
73 static ScrollbarThemeMacCommon* theme = NULL; 74 static ScrollbarThemeMacCommon* theme = NULL;
74 if (theme) 75 if (theme)
75 return theme; 76 return theme;
76 if (ScrollbarThemeMacCommon::isOverlayAPIAvailable()) { 77 if (ScrollbarThemeMacCommon::isOverlayAPIAvailable()) {
77 DEFINE_STATIC_LOCAL(ScrollbarThemeMacOverlayAPI, overlayTheme, ()); 78 DEFINE_STATIC_LOCAL(ScrollbarThemeMacOverlayAPI, overlayTheme, ());
78 theme = &overlayTheme; 79 theme = &overlayTheme;
79 } else { 80 } else {
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 IntRect tickmarkTrackRect = rect; 156 IntRect tickmarkTrackRect = rect;
156 tickmarkTrackRect.setX(tickmarkTrackRect.x() + 1); 157 tickmarkTrackRect.setX(tickmarkTrackRect.x() + 1);
157 tickmarkTrackRect.setWidth(tickmarkTrackRect.width() - 2); 158 tickmarkTrackRect.setWidth(tickmarkTrackRect.width() - 2);
158 paintGivenTickmarks(context->canvas(), scrollbar, tickmarkTrackRect, tickmar ks); 159 paintGivenTickmarks(context->canvas(), scrollbar, tickmarkTrackRect, tickmar ks);
159 } 160 }
160 161
161 ScrollbarThemeMacCommon::~ScrollbarThemeMacCommon() 162 ScrollbarThemeMacCommon::~ScrollbarThemeMacCommon()
162 { 163 {
163 } 164 }
164 165
165 void ScrollbarThemeMacCommon::preferencesChanged(float initialButtonDelay, float autoscrollButtonDelay, NSScrollerStyle preferredScrollerStyle, bool redraw) 166 void ScrollbarThemeMacCommon::preferencesChanged(float initialButtonDelay, float autoscrollButtonDelay, NSScrollerStyle preferredScrollerStyle, bool redraw, boo l scrollAnimationEnabled, const std::string& buttonPlacement)
166 { 167 {
167 updateButtonPlacement(); 168 updateButtonPlacement(buttonPlacement);
168 gInitialButtonDelay = initialButtonDelay; 169 gInitialButtonDelay = initialButtonDelay;
169 gAutoscrollButtonDelay = autoscrollButtonDelay; 170 gAutoscrollButtonDelay = autoscrollButtonDelay;
171 gScrollAnimationEnabledForSystem = scrollAnimationEnabled;
170 bool sendScrollerStyleNotification = gPreferredScrollerStyle != preferredScr ollerStyle; 172 bool sendScrollerStyleNotification = gPreferredScrollerStyle != preferredScr ollerStyle;
171 gPreferredScrollerStyle = preferredScrollerStyle; 173 gPreferredScrollerStyle = preferredScrollerStyle;
172 if (redraw && !scrollbarSet().isEmpty()) { 174 if (redraw && !scrollbarSet().isEmpty()) {
173 ScrollbarSet::iterator end = scrollbarSet().end(); 175 ScrollbarSet::iterator end = scrollbarSet().end();
174 for (ScrollbarSet::iterator it = scrollbarSet().begin(); it != end; ++it ) { 176 for (ScrollbarSet::iterator it = scrollbarSet().begin(); it != end; ++it ) {
175 (*it)->styleChanged(); 177 (*it)->styleChanged();
176 (*it)->invalidate(); 178 (*it)->invalidate();
177 } 179 }
178 } 180 }
179 if (sendScrollerStyleNotification) { 181 if (sendScrollerStyleNotification) {
180 [[NSNotificationCenter defaultCenter] 182 [[NSNotificationCenter defaultCenter]
181 postNotificationName:@"NSPreferredScrollerStyleDidChangeNotification " 183 postNotificationName:@"NSPreferredScrollerStyleDidChangeNotification "
182 object:nil 184 object:nil
183 userInfo:@{ @"NSScrollerStyle" : @(gPreferredScrollerSty le) }]; 185 userInfo:@{ @"NSScrollerStyle" : @(gPreferredScrollerSty le) }];
184 } 186 }
185 } 187 }
186 188
189 bool ScrollbarThemeMacCommon::scrollAnimationEnabledForSystem()
190 {
191 return gScrollAnimationEnabledForSystem;
192 }
193
187 double ScrollbarThemeMacCommon::initialAutoscrollTimerDelay() 194 double ScrollbarThemeMacCommon::initialAutoscrollTimerDelay()
188 { 195 {
189 return gInitialButtonDelay; 196 return gInitialButtonDelay;
190 } 197 }
191 198
192 double ScrollbarThemeMacCommon::autoscrollTimerDelay() 199 double ScrollbarThemeMacCommon::autoscrollTimerDelay()
193 { 200 {
194 return gAutoscrollButtonDelay; 201 return gAutoscrollButtonDelay;
195 } 202 }
196 203
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 // static 235 // static
229 bool ScrollbarThemeMacCommon::isOverlayAPIAvailable() 236 bool ScrollbarThemeMacCommon::isOverlayAPIAvailable()
230 { 237 {
231 static bool apiAvailable = 238 static bool apiAvailable =
232 [NSClassFromString(@"NSScrollerImp") respondsToSelector:@selector(scroll erImpWithStyle:controlSize:horizontal:replacingScrollerImp:)] 239 [NSClassFromString(@"NSScrollerImp") respondsToSelector:@selector(scroll erImpWithStyle:controlSize:horizontal:replacingScrollerImp:)]
233 && [NSClassFromString(@"NSScrollerImpPair") instancesRespondToSelector:@ selector(scrollerStyle)]; 240 && [NSClassFromString(@"NSScrollerImpPair") instancesRespondToSelector:@ selector(scrollerStyle)];
234 return apiAvailable; 241 return apiAvailable;
235 } 242 }
236 243
237 } // namespace blink 244 } // namespace blink
OLDNEW
« no previous file with comments | « Source/platform/scroll/ScrollbarThemeMacCommon.h ('k') | Source/platform/scroll/ScrollbarThemeMacNonOverlayAPI.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698