Title: [119038] branches/safari-536-branch/Source/WebKit2
Revision
119038
Author
lforsch...@apple.com
Date
2012-05-30 20:25:32 -0700 (Wed, 30 May 2012)

Log Message

Merged r118443 -> <rdar://problem/10090764>

Modified Paths

Diff

Modified: branches/safari-536-branch/Source/WebKit2/ChangeLog (119037 => 119038)


--- branches/safari-536-branch/Source/WebKit2/ChangeLog	2012-05-31 03:23:54 UTC (rev 119037)
+++ branches/safari-536-branch/Source/WebKit2/ChangeLog	2012-05-31 03:25:32 UTC (rev 119038)
@@ -1,5 +1,18 @@
 2012-05-30  Lucas Forschler  <lforsch...@apple.com>
 
+    Merge 118443
+
+    2012-05-24  Brady Eidson  <beid...@apple.com>
+
+            Fix the build after http://trac.webkit.org/changeset/118441
+            Also fix a glaring bug with the new code, will run it by original reviewer retroactively.
+
+            * UIProcess/cf/WebBackForwardListCF.cpp:
+            (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation): Fix up the types of the ? operands
+              to appease super-strict compilers. Don't allow negative indexes (besides the -1 "No index" index).
+
+2012-05-30  Lucas Forschler  <lforsch...@apple.com>
+
     Merge 118441
 
     2012-05-24  Brady Eidson  <beid...@apple.com>

Modified: branches/safari-536-branch/Source/WebKit2/UIProcess/cf/WebBackForwardListCF.cpp (119037 => 119038)


--- branches/safari-536-branch/Source/WebKit2/UIProcess/cf/WebBackForwardListCF.cpp	2012-05-31 03:23:54 UTC (rev 119037)
+++ branches/safari-536-branch/Source/WebKit2/UIProcess/cf/WebBackForwardListCF.cpp	2012-05-31 03:25:32 UTC (rev 119038)
@@ -131,14 +131,14 @@
     }
 
     CFIndex size = CFArrayGetCount(cfEntries);
-    if (currentCFIndex != -1 && currentCFIndex >= size) {
+    if (currentCFIndex < -1 || currentCFIndex >= size ) {
         LOG(SessionState, "WebBackForwardList dictionary representation contains an invalid current index (%ld) for the number of entries (%ld)", currentCFIndex, size);
         return false;
     }
 
     // FIXME: We're relying on currentIndex == -1 to mean the exact same thing as NoCurrentItemIndex (UINT_MAX) in unsigned form.
     // That seems implicit and fragile and we should find a better way of representing the NoCurrentItemIndex case.
-    uint32_t currentIndex = currentCFIndex == -1 ? NoCurrentItemIndex : currentCFIndex;
+    uint32_t currentIndex = currentCFIndex == -1 ? NoCurrentItemIndex : static_cast<uint32_t>(currentCFIndex);
 
     if (currentIndex == NoCurrentItemIndex && size) {
         LOG(SessionState, "WebBackForwardList dictionary representation says there is no current item index, but there is a list of %ld entries - this is bogus", size);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to