311049: fix focus issue in popup windows.
307743: export of bookmark keywords etc (patch by Chris Lawson).
293768: we now remember which container was selected in bookmarks.
Fixed HTML export by ensuring that the root folder has the appropriate special flag set.
Fixed "Redo" when moving a bookmark within a folder.
Fixed the first Undo after showing bookmarks (which used to throw an exception) by avoiding using the bookmarks undo manager for URL bar text operations.
Fixed drag and drop in the bookmarks to show the correct feedback when copying, and allow copying into the containers table again.
Fixed Undo in the url bar to not create undo items for no-op changes.
Fixed the context menu for empty rows in the bookmarks to enable the "New Folder" item.
Also cleaning up bookmarks reading and import code to deal better with corrupted bookmarks files, ensuring that we always end up with toolbar and menu containers. Fixed setting up the toolbar folder from a bookmarks.xml conversion. Allow us to read a Safari Bookmarks.plist file as the bookmarks file (rather than an import) in case a user copies it over. Break assumptions about the container ordering, so that if container folders get moved around in the bookmarks file, we'll still find them OK.
Added a checkbox to the prefs to turn the default browser checking on and off.
Moved all the default browser code into an NSWorkspace category, so it can be called from the app and pref panels.
Compressed some of the pref panel tiff images.
* 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.