-
Christopher Tate authored
The agent now does backup/restore of the bookmarks table. Whether to back up is determined by flattening the bookmark table, CRCing the flattened representation, and comparing the CRC with the previous backup pass's version. If they differ (or if the file size differs), the table is deemed to have changed and we send the flattened file off to the server as a single key. On restore, the bookmark records are read individually from the flattened representation, the existing bookmarks table is queried for a matching URL, and if none exists the bookmark is inserted into the table. Bookmarks.addBookmark() now takes a boolean argument "retainIcon." When false, the implementation will not call into the web icon database. This is necessary during restore because the web icon database is only available from the Browser app's main thread, but restore happens without the app proper being involved. The other call points for addBookmark() have been updated to pass 'true,' i.e. preserving the current behavior.
9c0dd8ca