Reviewed by Tim Omernick.
authorsullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 1 May 2006 15:17:41 +0000 (15:17 +0000)
committersullivan <sullivan@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 1 May 2006 15:17:41 +0000 (15:17 +0000)
commit436f69d3cec70ecfaaa155d1ea21d9d6007246d0
treed0f27c59d62d6f80b90f228c0d5f6dd91280e4da
parent74d76a8f61d83913f4c809afd42fc0711d663653
    Reviewed by Tim Omernick.

        - fixed <rdar://problem/3126419> history load enforces history limit, but deletes the newest instead of oldest items
        - added notification reporting items discarded during load because the age limit or item count limit is exceeded
        - a few other minor tweaks

        * History/WebHistory.h:
        fixed a typo and an incorrect method name

        * History/WebHistoryPrivate.h:
        Added declaration of WebHistoryItemsDiscardedWhileLoadingNotification. Also changed signature of
        WebHistoryPrivate method -loadFromURL:error: to have new collectDiscardedItemsInto: parameter.
        Also deleted declarations of two methods that didn't actually exist (loadHistory and initWithFile:),
        and added comments about which methods should become public API, WebKit-internal, or file-internal.

        * History/WebHistory.m:
        (-[WebHistoryPrivate arrayRepresentation]):
        This method, called only by _saveHistoryGuts:, used to deliberately leave out items that violated
        either the age limit or the item count limit. Now all the items are included (and thus saved), and
        all the pruning is done at load time, so clients can keep track of the pruned items by observing
        the new WebHistoryItemsDiscardedWhileLoadingNotification
        (-[WebHistoryPrivate _loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
        Now keeps track of all the items that violated the age limit or item count limit in the new
        collectedDiscardedItemsInto: parameter. Also, now processes items in forward order rather than
        reverse order to fix 3126419. Now uses compare: rather than _webkit_compareDay: to check against
        age limit; this is faster and also more correct (most noticeable with small age limits).
        (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]):
        new collectDiscardedItemsInto: parameter, passed into _loadHistoryGuts:...
        (-[WebHistory loadFromURL:error:]):
        Now sends new WebHistoryItemsDiscardedWhileLoadingNotification if any items were discarded due
        to age limit or item count limit.

        * WebKit.exp:
        exported symbol for WebHistoryItemsDiscardedWhileLoadingNotification

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebKit/ChangeLog
WebKit/History/WebHistory.h
WebKit/History/WebHistory.m
WebKit/History/WebHistoryPrivate.h