Changeset 162075 in webkit
- Timestamp:
- Jan 15, 2014, 9:46:58 AM (12 years ago)
- Location:
- trunk/Source/WebKit/mac
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
WebView/WebPreferences.mm (modified) (8 diffs)
-
WebView/WebView.mm (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/mac/ChangeLog
r162054 r162075 1 2014-01-15 Commit Queue <commit-queue@webkit.org> 2 3 Unreviewed, rolling out r162054. 4 http://trac.webkit.org/changeset/162054 5 https://bugs.webkit.org/show_bug.cgi?id=127053 6 7 Causes assertion failures in DumpRenderTree (Requested by ap 8 on #webkit). 9 10 * WebView/WebPreferences.mm: 11 (-[WebPreferences initWithIdentifier:sendChangeNotification:initWithIdentifier:]): 12 (-[WebPreferences initWithCoder:]): 13 (+[WebPreferences standardPreferences]): 14 (-[WebPreferences dealloc]): 15 (-[WebPreferences setPrivateBrowsingEnabled:]): 16 (-[WebPreferences _invalidateCachedPreferences]): 17 * WebView/WebView.mm: 18 (-[WebView _preferencesChanged:]): 19 1 20 2014-01-14 Alexey Proskuryakov <ap@apple.com> 2 21 -
trunk/Source/WebKit/mac/WebView/WebPreferences.mm
r162054 r162075 71 71 static NSMutableDictionary *webPreferencesInstances; 72 72 73 static unsigned webPreferencesInstanceCountWithPrivateBrowsingEnabled;74 75 73 static bool contains(const char* const array[], int count, const char* item) 76 74 { … … 267 265 [[self class] _setInstance:self forIdentifier:_private->identifier.get()]; 268 266 269 [self _updatePrivateBrowsingStateFrom:NO to:[self privateBrowsingEnabled]];270 271 267 #if PLATFORM(IOS) 272 268 if (sendChangeNotification) { … … 325 321 } else { 326 322 [[self class] _setInstance:self forIdentifier:_private->identifier.get()]; 327 [self _updatePrivateBrowsingStateFrom:NO to:[self privateBrowsingEnabled]];328 323 } 329 324 … … 366 361 } 367 362 #else 368 // FIXME: This check is necessary to avoid recursion (see <rdar://problem/9564337>), but it also makes _standardPreferences construction not thread safe.369 363 if (_standardPreferences) 370 364 return _standardPreferences; … … 607 601 - (void)dealloc 608 602 { 609 [self _updatePrivateBrowsingStateFrom:[self privateBrowsingEnabled] to:NO];610 611 603 delete _private; 612 604 [super dealloc]; … … 1081 1073 #endif 1082 1074 1083 - (void)setPrivateBrowsingEnabled:(BOOL)enabled 1084 { 1085 [self _updatePrivateBrowsingStateFrom:[self privateBrowsingEnabled] to:enabled]; 1086 [self _setBoolValue:enabled forKey:WebKitPrivateBrowsingEnabledPreferenceKey]; 1075 - (void)setPrivateBrowsingEnabled:(BOOL)flag 1076 { 1077 [self _setBoolValue:flag forKey:WebKitPrivateBrowsingEnabledPreferenceKey]; 1087 1078 } 1088 1079 … … 1090 1081 { 1091 1082 return [self _boolValueForKey:WebKitPrivateBrowsingEnabledPreferenceKey]; 1092 }1093 1094 - (void)_updatePrivateBrowsingStateFrom:(BOOL)wasEnabled to:(BOOL)enabled1095 {1096 if (enabled == wasEnabled)1097 return;1098 if (enabled > wasEnabled) {1099 WebFrameNetworkingContext::ensurePrivateBrowsingSession();1100 ++webPreferencesInstanceCountWithPrivateBrowsingEnabled;1101 } else {1102 ASSERT(webPreferencesInstanceCountWithPrivateBrowsingEnabled);1103 --webPreferencesInstanceCountWithPrivateBrowsingEnabled;1104 if (!webPreferencesInstanceCountWithPrivateBrowsingEnabled)1105 WebFrameNetworkingContext::destroyPrivateBrowsingSession();1106 }1107 1083 } 1108 1084 … … 2290 2266 - (void)_invalidateCachedPreferences 2291 2267 { 2292 BOOL privateBrowsingWasEnabled = [self privateBrowsingEnabled];2293 2294 2268 dispatch_barrier_sync(_private->readWriteQueue, ^{ 2295 2269 if (_private->values) 2296 2270 _private->values = adoptNS([[NSMutableDictionary alloc] init]); 2297 2271 }); 2298 2299 [self _updatePrivateBrowsingStateFrom:privateBrowsingWasEnabled to:[self privateBrowsingEnabled]];2300 2272 2301 2273 // Tell any live WebViews to refresh their preferences -
trunk/Source/WebKit/mac/WebView/WebView.mm
r162054 r162075 2317 2317 settings.setExperimentalNotificationsEnabled([preferences experimentalNotificationsEnabled]); 2318 2318 #endif 2319 settings.setPrivateBrowsingEnabled([preferences privateBrowsingEnabled]); 2319 2320 bool privateBrowsingEnabled = [preferences privateBrowsingEnabled]; 2321 #if PLATFORM(MAC) || USE(CFNETWORK) 2322 if (privateBrowsingEnabled) 2323 WebFrameNetworkingContext::ensurePrivateBrowsingSession(); 2324 else 2325 WebFrameNetworkingContext::destroyPrivateBrowsingSession(); 2326 #endif 2327 settings.setPrivateBrowsingEnabled(privateBrowsingEnabled); 2328 2320 2329 settings.setSansSerifFontFamily([preferences sansSerifFontFamily]); 2321 2330 settings.setSerifFontFamily([preferences serifFontFamily]);
Note:
See TracChangeset
for help on using the changeset viewer.