mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-14 14:02:47 +00:00
700f885ac8
* Change from having every bookmark register for page and favicon load notifications to having the BookmarksManger watch for loads, and then notify the relevant bookmarks. Requires the BookmarksManager to maintain two maps, one of page url -> bookmark, and another of favicon url -> bookmark. * Now we build the bookmarks menus lazily on display: BookmarkMenu is now an NSMenu subclass. * The writing of Spotlight Metadata for bookmarks now happens on a thread, after we've set up the rest of the bookmarks. * We no longer save some empty keys for bookmarks and folders to the bookmarks plist file, which reduces its size (and saving cost). Also changed some bookmarks members from being object types (NSNumber) to primitive types. * Delay the loading of bookmark icons until requested (rather than when the bookmarks url is set on bookmark loading). * Bookmark changed notifications now go out with a set of change flags, so we know what changed and can avoid saving bookmarks for trivial changes. * We no longer save the bookmarks when you tab between fields in the Info panel, if you didn't change anything. * Sundry bookmarks code cleanup for readability and leg-cocking. * We now save custom (i.e. <link>-based) favicon URLS with bookmarks, which allows us to avoid hitting the Necko cache for every bookmark up-front as we try to figure out the favicon url for a bookmark. * The site icon provider code now provides info in the "loaded" notification about whether the load came from the network. Fixes bug 279994, bug 236373.