Null check URL key entries into WebHistory hash table.
authorroger_fong@apple.com <roger_fong@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Nov 2012 01:20:29 +0000 (01:20 +0000)
committerroger_fong@apple.com <roger_fong@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Nov 2012 01:20:29 +0000 (01:20 +0000)
https://bugs.webkit.org/show_bug.cgi?id=101664
<rdar://problem/12440852>

Reviewed by Brady Eidson.

Sometimes the _entriesByURL hash table used to keep track of web history is erroneously passed in null key entries, which causes an exception to fire.
This prevents the desired page navigation from taking effect. This is a workaround for the problem.
Ideally we would figure out where the null values for the key are coming from but for now we'll just set it to "" to prevent the exception from being thrown
so that navigation can continue as expected.

* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@133977 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/mac/ChangeLog
Source/WebKit/mac/History/WebHistory.mm

index f005f85..2238c67 100644 (file)
@@ -1,3 +1,19 @@
+2012-11-08  Roger Fong  <roger_fong@apple.com>
+
+        Null check URL key entries into WebHistory hash table. 
+        https://bugs.webkit.org/show_bug.cgi?id=101664
+        <rdar://problem/12440852>
+
+        Reviewed by Brady Eidson.
+        
+        Sometimes the _entriesByURL hash table used to keep track of web history is erroneously passed in null key entries, which causes an exception to fire.
+        This prevents the desired page navigation from taking effect. This is a workaround for the problem.
+        Ideally we would figure out where the null values for the key are coming from but for now we'll just set it to "" to prevent the exception from being thrown
+        so that navigation can continue as expected.
+
+        * History/WebHistory.mm:
+        (-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]):
+
 2012-11-07  Andreas Kling  <akling@apple.com>
 
         Remove build-webkit dependency on Java SDK for Apple Mac WebKit.
index e781d32..591cc04 100644 (file)
@@ -296,6 +296,8 @@ static inline WebHistoryDateKey dateKey(NSTimeInterval date)
     ASSERT(title);
     
     NSString *URLString = [url _web_originalDataAsString];
+    if (!URLString)
+        URLString = @"";
     WebHistoryItem *entry = [_entriesByURL objectForKey:URLString];
 
     if (entry) {