Commit Graph

664 Commits

Author SHA1 Message Date
Richard Newman
7c5dd63508 Bug 641074 - Sync tests for Places query safety.
r=philikon
2011-04-23 02:06:34 +02:00
Richard Newman
41e5256db1 Bug 645918: attempt to fix random orange in test_bookmarks_engine. r=philiKON
--HG--
extra : transplant_source : %06%A4%93%D01%27%97%15h%D4h%C4CY%A0%09%AB%CF%CE%7D
2011-04-19 12:30:39 -07:00
Richard Newman
add6e4d3d2 Bug 646910: attempt to fix random orange in test_clients_engine. r=philiKON
--HG--
extra : transplant_source : %DC%16%D0%0F%E3%82%8F%18%CC%1B4%D4%A4%BF%1Aw%E0%EAH%5C
2011-04-19 12:03:34 -07:00
Richard Newman
60d7f34979 Bug 618052: Intermittent test_utils_queryAsync.js: don't call success callback on error. r=philiKON 2011-04-18 19:54:11 -07:00
Philipp von Weitershausen
3bf3b1074c Bug 646347 - Use Sync API version 1.1. r=rnewman 2011-04-08 14:52:08 -07:00
Philipp von Weitershausen
e48dd927d6 Bug 565430 - Service.startOver should purge client-specific data (i.e. client/tabs) from the server. r=rnewman 2011-04-08 14:51:55 -07:00
Richard Newman
f5b87fff6f Bug 568156: more Sync UA tweaks. r=philiKON 2011-04-08 13:43:38 -07:00
Richard Newman
b2eab73aa1 Bug 648338: always import PlacesUtils.jsm. r=philiKON 2011-04-07 16:35:48 -07:00
Richard Newman
511167ba0d Bug 629742: fix for broken check. r=philiKON 2011-04-07 16:32:20 -07:00
Philipp von Weitershausen
3eeacec085 Bug 648338 - Remove remaining Firefox 3.5/3.6 compat code. r=rnewman 2011-04-07 15:31:11 -07:00
Philipp von Weitershausen
bb5befa38f Bug 648338 - Remove Firefox 3.5/3.6 compat code in the history engine. r=rnewman 2011-04-07 15:30:44 -07:00
Philipp von Weitershausen
262f5e8e99 Bug 648338 - Remove Firefox 3.5/3.6 compat code in the bookmarks engine. r=rnewman 2011-04-07 15:30:31 -07:00
Richard Newman
007c6b1d00 Bug 568156: Use Sync client version as User-Agent. r=philiKON 2011-04-07 13:55:02 -07:00
Richard Newman
f8143ca33f Bug 638301: Fix test bustage in test_syncengine_sync.js. r=philiKON 2011-04-07 10:07:16 -07:00
Richard Newman
9b5bd5c842 Bug 638301: SyncEngine._processIncoming: ensure we don't hit URL length limit for fetchBatch on desktop. r=philiKON 2011-04-06 17:18:22 -07:00
Richard Newman
5d82b5ca46 Bug 623836: part 1: use lowercase headers where we're supposed to. r=philiKON 2011-04-06 16:12:21 -07:00
Richard Newman
dcad6490a7 Bug 623836: part 0: simplify Resource.setHeader. r=philiKON 2011-03-30 18:28:56 -07:00
Philipp von Weitershausen
a7f751f74a Bug 644905 - Set resource aliases in manifest. r=rnewman 2011-03-25 00:57:23 -07:00
Philipp von Weitershausen
f31ef51815 Bug 596620 - Remove compat code for username-based UI. r=rnewman
Also call Weave.Service.createAccount() with right parameters.
2011-03-25 00:57:23 -07:00
Richard Newman
77d7c794ad Bug 642727 - Don't trigger sync error when bad HMAC records are deleted. r=philiKON 2011-03-20 16:10:40 -07:00
Philipp von Weitershausen
06d57f2567 Merge fx-sync 2011-03-07 13:37:54 -08:00
Philipp von Weitershausen
9e38e27df8 Bug 636312 - Forms and passwords engines: yield back to the main thread during batches of synchronous I/O. r=rnewman a=blocking-fennec 2011-03-07 13:07:59 -08:00
Philipp von Weitershausen
b0b3e2a514 Bug 636673 - Avoid accessing 'arguments' in code that's called a lot. r=rnewman a=blocking-fennec 2011-03-02 15:27:16 -08:00
Philipp von Weitershausen
b73b6cde45 Merge fx-sync 2011-03-02 16:32:28 -08:00
Philipp von Weitershausen
2d1206cc35 Merge fx-sync 2011-03-01 21:55:52 -08:00
Philipp von Weitershausen
451da0c655 Bug 636676 - Utils.queryAsync: reuse mozIStorageStatementCallback object. r=rnewman a=blocking-fennec 2011-03-01 14:29:52 -08:00
Philipp von Weitershausen
976e51bd8c Bug 636677 - Don't create a new nsICryptoHMAC object for each HMAC verification. r=rnewman a=blocking-fennec 2011-03-01 14:29:41 -08:00
Richard Newman
23ab949c38 Bug 629463: delete bad server-side clients records. r=philiKON a=beltzner 2011-03-01 11:56:29 -08:00
Philipp von Weitershausen
c218c4a0a0 Bug 636402 - Simplify Sync.js to avoid creating new objects. r=rnewman a=blocking-fennec 2011-02-25 14:43:18 -08:00
Philipp von Weitershausen
8f88ad6a0c Bug 636478 - Simplify Utils.deferGetSet. r=rnewman a=blocking-fennec 2011-02-25 14:43:10 -08:00
Philipp von Weitershausen
89cafd832b Bug 636382 - Log4Moz: avoid unnecessary object creation. r=rnewman a=blocking-fennec 2011-02-25 14:42:59 -08:00
Richard Newman
da22a75a3b Bug 634441: livemark robustness. r=philiKON, a=beltzner 2011-02-25 11:56:58 -08:00
Richard Newman
f31dcaaab4 Bug 632287: delete and recreate if a bookmark update changes type. r=philiKON, a=beltzner 2011-02-23 12:14:11 -08:00
Philipp von Weitershausen
b5bedc6fa0 Bug 633681 - Add a Status.ready flag that indicates whether Sync has started up. r+a=mconnor
Also de-Sync.js-ify test_service_startup.js
2011-02-17 13:41:13 -08:00
Philipp von Weitershausen
0e4fb145f6 Merge fx-sync 2011-02-25 16:52:36 -08:00
Philipp von Weitershausen
74ebb180df Bug 631891 - Determine GUID immediately when URIs are about to be deleted. r=rnewman a=crossweave 2011-02-10 14:12:25 -08:00
Philipp von Weitershausen
b40fd2aa78 Bug 631891 - Don't spin the event loop in a history observer. r=mconnor a=blocking-final 2011-02-10 09:06:55 -08:00
Richard Newman
f8cc020a30 Bug 629664: Sync: only register engine once in checkServerError test, amongst other things. r=philiKON 2011-02-09 22:43:21 -08:00
Richard Newman
2246d6e0dc Bug 629664: Sync: improve checkServerError tests. r=philiKON 2011-02-09 22:43:01 -08:00
Philipp von Weitershausen
0f5c5eea91 Bug 631001 - Make password store tests more unit-y. r=mconnor
No need for a full blown server setup to test the password store. Also, engine.sync() doesn't throw anymore anyway, so the test wasn't really testing that bit anymore.

--HG--
rename : services/sync/tests/unit/test_password_engine.js => services/sync/tests/unit/test_password_store.js
2011-02-08 20:36:57 -08:00
Richard Newman
10f3e22207 Bug 628788: copying a bookmark should yield a new Sync GUID. r=philiKON
--HG--
extra : transplant_source : J9%A1Bw%B2%14%2C.%E1R%40%B6%EC2%E1%E4%3B%24t
2011-02-07 11:25:47 -08:00
Philipp von Weitershausen
3d62bf2d2a Bug 600261 - Provide hooks for ignoring network errors. r=mconnor a=blocking-betaN 2011-02-03 10:23:39 -08:00
Philipp von Weitershausen
b9c170275b Bug 630720 - Form sync: apply records batched and in transactions to avoid fsyncs. r+a=mconnor 2011-02-03 10:23:38 -08:00
Richard Newman
3697c219a8 Bug 609380: password sync: don't apply records with both httpRealm and formSubmitURL. r=mconnor 2011-01-31 23:22:13 -08:00
Philipp von Weitershausen
88e0592870 Bug 591102 - Correctly identify network errors. r=mconnor 2011-01-31 20:55:48 -08:00
Philipp von Weitershausen
2985d253e2 Bug 591102 - Ensure exceptions from [Async]Resource contain the status code. r=mconnor 2011-01-31 20:55:48 -08:00
Philipp von Weitershausen
29368145cf Bug 629664 - Attempt at improving randomly failing test. r=rnewman a=orange 2011-01-28 13:21:21 -08:00
Philipp von Weitershausen
f69286267e Bug 606353 - Add a Utils.checkGUID() helper. r=rnewman 2011-01-28 09:39:28 -08:00
Philipp von Weitershausen
22cbf5ef48 Bug 606353 - Improve and harden history sync tests. r=rnewman 2011-01-28 09:39:19 -08:00
Philipp von Weitershausen
28e18f7541 Bug 622762 - Add batch API for incoming records, deal with exceptions in SyncEngine's recordHandler. r=mconnor,rnewman 2011-01-28 09:39:12 -08:00
Richard Newman
ba33594a62 Bug 610501: better rewriting of tag search smart bookmarks. r=philiKON 2011-01-28 00:18:36 -08:00
Richard Newman
cd62cfe8dc Bug 610501: dupe Smart Bookmarks based on anno. r=philiKON 2011-01-28 00:14:08 -08:00
Philipp von Weitershausen
5737a8fa0f Bug 608757 - Make Utils.jsonSave/Load use NetUtil.asyncCopy and asyncFetch, respectively. r=mconnor 2011-01-26 21:43:33 -08:00
Philipp von Weitershausen
df1fed815d Bug 608757 - Make API and tests for Utils.json{Load|Save} async. r=mconnor
Utils.jsonLoad() already has an async API. Utils.jsonSave() had an ill-named 'callback' parameter which s renamed to 'obj'; an optional callback parameter (in the async sense) is added.
2011-01-26 21:43:24 -08:00
Philipp von Weitershausen
c2b6d4918e Bug 615284 - Download chunking needs to be more resilient against app shutdowns. r=mconnor 2011-01-26 21:34:31 -08:00
Richard Newman
decb0e220a Bug 610501: handle smart bookmarks correctly in Sync. 2011-01-26 12:36:38 -08:00
Richard Newman
ab3e8ec024 Bug 627097: Audit usage of js-ctypes in Sync/WeaveCrypto. r=philiKON 2011-01-25 21:31:41 -08:00
Richard Newman
82aebc9e26 Bug 627497: remove annotations from copied bookmarks. r=philiKON 2011-01-25 12:37:23 -08:00
Richard Newman
bdc5390864 Bug 626796: Bookmark sync: restore from backup should trigger reupload. r=philiKON 2011-01-24 23:06:42 -08:00
Richard Newman
6a1fddc2f0 Bug 627490: Bookmark sync: don't cache places IDs. r=philiKON 2011-01-24 10:45:27 -08:00
Richard Newman
9e11000245 Bug 616568: commit test that slipped through hg add. r=philiKON 2011-01-19 16:41:30 -08:00
Philipp von Weitershausen
923b14c270 Bug 609421 - Combine auth.js and resource.js. r=rnewman 2011-01-18 16:23:38 -08:00
Philipp von Weitershausen
448d9b94ac Bug 609421 - Combine base_record/* files into record.js. r=rnewman
--HG--
rename : services/sync/modules/base_records/wbo.js => services/sync/modules/record.js
2011-01-18 16:23:30 -08:00
Philipp von Weitershausen
52ed8e305a Bug 609421 - Move tracker and store implementation into engines.js. r=rnewman 2011-01-18 16:23:25 -08:00
Philipp von Weitershausen
df43d53fe2 Bug 609421 - Combine type_record/* files with their respective engines/* counterparts. r=rnewman 2011-01-18 16:23:20 -08:00
Richard Newman
bd9d0439d9 Bug 619238: fix intermittent test failure. r=philiKON 2011-01-17 14:51:42 -08:00
Philipp von Weitershausen
f6e432c2f5 Bug 618403 - Orphan reparenting too aggressive, can lead to double bookmarks on storage version upgrade. r=rnewman 2011-01-14 13:41:09 -08:00
Philipp von Weitershausen
370ffe57dd Bug 591103 - Ensure the client record is refreshed. r=mconnor 2011-01-14 13:22:20 -08:00
Philipp von Weitershausen
02a803289a Bug 591103 - use TTL for history, form history, clients, tabs. r=mconnor 2011-01-14 13:22:20 -08:00
Philipp von Weitershausen
38927cc3e0 Bug 591103 - Sanitize WBO tests. r=mconnor 2011-01-14 13:22:20 -08:00
Philipp von Weitershausen
16d250d5d1 Bug 623418 - Bookmark sync: use a SQL query to fetch child GUIDs. r=mconnor,sdwilsh 2011-01-13 14:03:11 -08:00
Philipp von Weitershausen
2e38f6f3f6 Merge fx-sync 2011-02-17 14:04:51 -08:00
Philipp von Weitershausen
82e9e6c1c0 Merge follow-up fix for bug 631891. a=crossweave 2011-02-10 14:32:28 -08:00
Philipp von Weitershausen
dee071d1a1 Merge bug 631891 from fx-sync. a=blocking-final 2011-02-10 09:22:13 -08:00
Philipp von Weitershausen
ffb0881ac6 Merge bug 629664 from fx-sync. a=orange 2011-02-10 00:31:35 -08:00
Philipp von Weitershausen
d61cf5a4b9 Bug 623375 - History sync: failure on javascript: URLs. r=mconnor 2011-01-11 15:04:45 -08:00
Richard Newman
12e0da760e Bug 623689: don't misbehave on master password cancel. r=philiKON 2011-01-10 21:51:29 -08:00
Philipp von Weitershausen
ec68856514 Bug 623812 - Match number of do_test_pending calls to number of do_test_finished calls. 2011-01-06 23:54:50 -08:00
Philipp von Weitershausen
63cd192475 Bug 623812: another fix for unimportant test failures on some platforms. a=orange 2011-01-06 21:13:51 -08:00
Richard Newman
5ed470783d Bug 623812: fix for unimportant test failures on some platforms. r=philiKON, a=bustage 2011-01-06 20:51:43 -08:00
Richard Newman
e905821e24 Bug 597400: return null if GUID lookup fails in forms engine. r=philiKON 2011-01-06 12:05:30 -08:00
Richard Newman
cf988e27c2 Bug 622760: log exceptions thrown in _onProgress callbacks. r=philiKON 2011-01-04 16:27:00 -08:00
Philipp von Weitershausen
3244eba263 Bug 621489 - Make sure to call _orderChildren even if _processIncoming fails. r=mconnor 2011-01-04 15:04:18 -08:00
Philipp von Weitershausen
0f15591bbb Bug 621594 - History sync: failure when title is null. r=mconnor 2010-12-28 17:36:18 -08:00
Philipp von Weitershausen
4cb107444e Get rid of old-crypto test helpers that are no longer used (no bug) 2010-12-28 13:31:01 -08:00
Richard Newman
54f40f74f1 Bug 620593: add normalizeAccount, use in addon UI. r=philiKON 2010-12-21 15:32:58 -08:00
Richard Newman
8592007dc3 Bug 543784: don't login automatically, prompt for master password. r=philiKON 2010-12-20 20:01:34 -08:00
Richard Newman
870bf49033 Bug 619567: allow leading and trailing whitespace in pre-normalized passphrases. r=philiKON 2010-12-20 14:46:16 -08:00
Richard Newman
48f8296bad Bug 619162: default resource success is false; retry once. r=philiKON 2010-12-20 12:47:51 -08:00
Richard Newman
5e2a5c77ba Bug 618335: normalize old-style 20-char sync keys. r=philiKON 2010-12-20 10:10:37 -08:00
Philipp von Weitershausen
934537cfd6 Bug 616001 - Sync needs to check moz_places.guid and moz_bookmarks.guid if it exists.
Part 3 - Tests for a v11 places database running in Firefox 3.5/3.6
2010-12-14 15:50:50 -08:00
Philipp von Weitershausen
89d57a26f2 Bug 618411 - Accept non-alphabetical character in the sync key entry. r=mconnor 2010-12-13 18:09:21 -08:00
Richard Newman
80ed394a27 No bug: fix engine registering in test. r=philiKON 2010-12-10 19:40:17 -08:00
Richard Newman
d04bce031e Bug 618389: reset and clear keys on changePassphrase. r=mconnor 2010-12-10 16:53:40 -08:00
Richard Newman
e91239fb33 Bug 618009: add test for storage format detection during login. r=mconnor 2010-12-10 15:53:16 -08:00
Philipp von Weitershausen
3160349986 Bug 618233 - Temporarily disable random orange on Windows 2010-12-09 23:09:45 -08:00
Richard Newman
b700f4e4a5 Bug 617709: Tests and functionality for on-the-fly HMAC error recovery. r=philiKON 2010-12-09 23:06:44 -08:00
Philipp von Weitershausen
414341b14b Bug 602876 - Tests for J-PAKE network client. r=mconnor 2010-12-09 18:13:58 -08:00
Philipp von Weitershausen
fb25f3a3c1 Bug 617868 follow-up: fix test 2010-12-09 12:33:51 -08:00
Philipp von Weitershausen
0c5caf1b02 Bug 617868 - Use the RFC5869-compliant HKDF in the SyncKeyBundle. r=mconnor
This requires new bulk keys and constitutes a storage version bump.
2010-12-09 12:14:17 -08:00
Philipp von Weitershausen
d34fb9c651 Bug 617868 - RFC-5869 compliant HKDF implementation with test vectors. r=mconnor 2010-12-09 12:14:08 -08:00
Richard Newman
b3a296aa95 Bug 617709: download and reset when server bulk keys change. r=mconnor 2010-12-09 10:32:03 -08:00
Richard Newman
8f038452ba Bug 617478: clear CollectionKeys on startOver. r=philiKON. 2010-12-07 16:30:06 -08:00
Richard Newman
28580e1b5a Bug 617351: more tests for engine disabling. r=mconnor 2010-12-07 16:18:22 -08:00
Richard Newman
c3b4f20562 Bug 617320: fix for tests around engine disabling. r=mconnor 2010-12-07 09:17:52 -08:00
Richard Newman
98051adf04 Bug 616265: Add download limit for history, lift magic number. r=mconnor 2010-12-06 17:25:35 -08:00
Philipp von Weitershausen
d8c109a724 Bug 615285 - Bookmark sync: track ordering on folder. r=mconnor 2010-12-06 15:51:56 -08:00
Philipp von Weitershausen
85eb795fda Bug 615410 - Have bookmarks generate new-style GUIDs. r=mconnor 2010-12-06 15:51:38 -08:00
Philipp von Weitershausen
6a527a12f4 Bug 615410 - More tests for the bookmark store. r=mconnor 2010-12-06 15:51:33 -08:00
Richard Newman
0746bfe3b7 Bug 610914: performance improvements for WeaveCrypto. 2010-12-06 11:52:30 -08:00
Philipp von Weitershausen
729a42719c Bug 615604 - Only accept pref updates for the current app. r=mconnor 2010-11-30 13:37:07 -08:00
Philipp von Weitershausen
01ffd2d9a2 Bug 615604 - Make pref GUIDs base64url. r=mconnor 2010-11-30 13:36:01 -08:00
Richard Newman
9fbc714a2d Bug 615643: remove existing logins prior to running verifyLogin tests. r=philiKON 2010-11-30 12:34:29 -08:00
Richard Newman
eb3c47dd5d Bug 615622: tests for SyncKeyBundle persistence. r=philiKON 2010-11-30 11:03:54 -08:00
Richard Newman
529875b67f Bug 615612: additional tests for SHA256-HMAC. r=philiKON 2010-11-30 11:03:27 -08:00
Philipp von Weitershausen
0073c97150 Bug 614104 - Make Utils.makeGUID generate new style GUIDs. r=mconnor
New style GUIDs are 9 random bytes encoded with base64url, yielding 12 characters with 72 bits of entropy.
2010-11-30 10:26:13 -08:00
Richard Newman
238d11c9a3 Bug 614737: detecting upgrade, being nice to old clients. r=philikon 2010-11-29 16:41:33 -08:00
Richard Newman
ffb07cee37 Bug 603489, 614489: simplified crypto. r=mconnor 2010-11-29 16:41:17 -08:00
Philipp von Weitershausen
b445191feb Bug 560580 - Pref sync cleanup [r=mconnor] 2010-11-23 21:21:37 -08:00
Philipp von Weitershausen
31d6d2b3c1 Bug 591126 - Handle upload interruption gracefully [r=mconnor] 2010-11-23 21:21:31 -08:00
Philipp von Weitershausen
110357f925 Merge fx-sync. a=blockers 2011-02-08 21:02:23 -08:00
Philipp von Weitershausen
dc892b7a85 Bug 629780 - Merge fx-sync to mozilla-central. a=blockers 2011-02-03 10:53:36 -08:00
Richard Newman
00fb41dbff Bug 610749: (FIXED) add pure-JS PBKDF2 implementation. r=philikon 2010-11-16 11:50:18 -08:00
Richard Newman
6a03ded70c Bug 610749: add pure-JS PBKDF2 implementation. 2010-11-16 11:42:17 -08:00
Philipp von Weitershausen
a8b99bdfa2 Bug 600993 - Tab sync has no reason to ever touch disk [r=mconnor] 2010-11-11 11:00:41 -08:00
Philipp von Weitershausen
7440175181 Bug 610923 - Allow engines to bypass the tracker for certain or all changed items [r=mconnor]
SyncEngine now uses the getChangedIDs() method to get all changed IDs before a sync. By default this still goes through the tracker, but engines can override this method to do queries based on timestamps, or to bypass the tracker entirely.

SyncEngine now also exposes a lastSyncLocal property that keeps the local timestamp of the last sync so that engines can do timestamp based queries.
2010-11-11 11:00:35 -08:00
Philipp von Weitershausen
f591065405 Bug 610375 - Make bookmark folders not sync last [r=mconnor] 2010-11-09 13:53:50 -08:00
Philipp von Weitershausen
08efe3cb23 Bug 609398 - Get rid of partial sync [r=mconnor] 2010-11-09 13:51:19 -08:00
Philipp von Weitershausen
3d8a0cccc7 Bug 584927 - Factor GUIDForUri and setGUID into HistoryStore [r=mconnor] 2010-08-06 14:40:06 -07:00
Philipp von Weitershausen
e954b3324f Bug 608324 - test_utils_stackTrace fails after JM changes [r=mconnor] 2010-10-29 14:09:58 -07:00
Philipp von Weitershausen
5f49fae1cc Bug 603301 - Tests for async resource API [r=mconnor] 2010-10-29 10:20:38 -07:00
Philipp von Weitershausen
5efad4e822 Bug 606695 - De-Sync.js-ify history store test [r=mconnor] 2010-10-29 06:54:41 -07:00
Philipp von Weitershausen
803b0a1422 Bug 606695 - Helper for chaining async functions [r=mconnor] 2010-10-29 06:54:30 -07:00
Philipp von Weitershausen
aebb292d45 Bug 604565 - Disable another intermittently failing xpcshell tests on OSX debug build [r=mconnor] 2010-10-28 17:19:28 -07:00
Philipp von Weitershausen
1588afd2db Bug 604565 - Disable intermittently failing xpcshell tests on OSX debug builds. [r=mconnor]
--HG--
rename : services/sync/tests/unit/head_appinfo.js => services/sync/tests/unit/head_appinfo.js.in
2010-10-21 13:47:47 +02:00
Philipp von Weitershausen
7f5dd43f9b Bug 604565 - Attempt to make tests hang less on OS X. [r=mconnor]
Reduce amount of pointless network calls by not registering any engines for tests that provide their own fake engine implementations anyway.
2010-10-19 00:10:22 +02:00
Philipp von Weitershausen
47ac364e2a Bug 562431 - Move tests for WeaveCrypto to services/crypto/ [r=mconnor]
--HG--
rename : services/sync/tests/unit/test_crypto_crypt.js => services/crypto/tests/unit/test_crypto_crypt.js
rename : services/sync/tests/unit/test_crypto_keypair.js => services/crypto/tests/unit/test_crypto_keypair.js
rename : services/sync/tests/unit/test_crypto_random.js => services/crypto/tests/unit/test_crypto_random.js
rename : services/sync/tests/unit/test_crypto_rewrap.js => services/crypto/tests/unit/test_crypto_rewrap.js
rename : services/sync/tests/unit/test_crypto_verify.js => services/crypto/tests/unit/test_crypto_verify.js
2010-10-14 21:17:55 +02:00
Philipp von Weitershausen
adbb677fa2 Bug 562431 - Rewrite WeaveCrypto as a .jsm [r=mconnor]
--HG--
rename : services/crypto/WeaveCrypto.js => services/crypto/modules/WeaveCrypto.js
2010-10-14 21:17:35 +02:00
Philipp von Weitershausen
b82a6c9745 Bug 597404 - History sync: Null id for anno! (invalid uri) [r=mconnor]
Don't fail history sync when the places DB contains invalid URIs.
2010-10-14 07:12:19 +02:00
Philipp von Weitershausen
3065b1ede2 Bug 601973 - SyncEngine._testDecrypt() yields wrong result [r=mconnor]
Fix a 'this' scoping error in SyncEngine._testDecrypt(). Rename this method to canDecrypt() since it's clearly public API.

Provide tests for SyncEngine.canDecrypt() as well as Service.wipeClient().
2010-10-05 20:32:56 +02:00
Philipp von Weitershausen
753f9d8d3e Bug 600995 - Use a record's "encryption" property only as a fallback, default to the engine's value. [r=mconnor] 2010-10-04 22:39:08 +02:00
Philipp von Weitershausen
6d91562b33 Bug 569968 - Migration requires client to remove absolute URLs in crypto records
Tests and test fixes
2010-08-12 22:19:41 +02:00
Philipp von Weitershausen
7cd7025e74 Bug 592465 - Show a passphrase strength meter for custom passphrases [r=mconnor] 2010-09-23 02:04:31 +02:00
Eric Lemoine
f4d7016355 Bug 591816 - Add tests for TabEngine [r=mconnor] 2010-09-20 18:53:13 +02:00
Eric Lemoine
53d9ebccb1 Bug 591816 - Add tests for TabEngine [r=mconnor] 2010-09-20 18:53:13 +02:00
Eric Lemoine
0ab59be1ea Bug 591816 - Add tests for TabEngine [r=mconnor] 2010-09-20 18:53:13 +02:00
Eric Lemoine
3b6c3b50d4 Bug 588193 - more tests for util.js [r=mconnor] 2010-09-20 18:53:13 +02:00
Eric Lemoine
7793bfb639 Bug 588193 - more tests for util.js [r=mconnor] 2010-09-20 18:53:08 +02:00
Philipp von Weitershausen
c1b1fa990d Bug 593820 - Move generatePassphrase and friends from UI code to util.js [r=mconnor] 2010-09-17 17:48:06 +02:00
Philipp von Weitershausen
cd4c7db129 Bug 596093 - Do not allow email addresses as the username [r=mconnor]
Make sure the semantics of Weave.Service.checkUsername and Weave.Service.createAccount don't change when used by the old UI code (as present in current Firefox 4.0 betas).
2010-09-15 12:54:33 +02:00
Philipp von Weitershausen
38347b08b2 Bug 589979 - Generate username from email address (part 2) [r=mconnor]
The Weave.Service.account property holds whatever the user entered for email address/username. If it only contains characters valid for usernames, it is assumed to be a username. Otherwise it's SHA1 hashed and base32 encoded.

The special tab mangling (to avoid broken Basic Auth headers) is now obsolete.

--HG--
rename : services/sync/tests/unit/test_service_checkUsername.js => services/sync/tests/unit/test_service_checkAccount.js
2010-09-13 17:17:37 +02:00
Philipp von Weitershausen
61179044c7 Bug 589979 - Generate username from email address (part 1) [r=mconnor]
Implement Utils.encodeBases32 and Utils.sha1Base32.
2010-09-13 17:17:37 +02:00
Philipp von Weitershausen
a8e294fe4f Bug 594785 - First sync disables all engines [r=mconnor]
Track whenever we create a new global/meta record and don't evaluate the engines property in that case.
2010-09-13 17:17:37 +02:00
Philipp von Weitershausen
7e51b2c724 Bug 580672 - Implement quota UI (Part 1) [r=mconnor]
Recognize quota warnings from server, implement API calls to retrieve quota information.
2010-09-11 18:39:21 +02:00
Philipp von Weitershausen
b0460d903d Bug 594241 - Can't disable history sync [r=mconnor]
Take engine.prefName rather than engine.name when looking for changed prefs.
2010-09-08 21:09:40 +02:00
Philipp von Weitershausen
c29a0e55af Bug 578671 - Sync which engines are enabled across clients, wipe data for disabled engines [r=mconnor] 2010-09-07 18:44:01 +02:00
Philipp von Weitershausen
10c60b7c0d Bug 594011 - test_history_store shoudn't use hardcoded timestamps [r=mconnor]
Also simplify call to Sync.
2010-09-07 15:57:04 +02:00
Edward Lee
1df3de932f Bug 587280 - Intermittent failure in test_crypto_keypair.js | 1624 == 1644 [r=dolske a=npotb]
Check for both 1624 and 1644 length private keys.
2010-08-31 23:58:53 -07:00
Philipp von Weitershausen
29493f1bec Fix test bustage introduced with bug 587027 part 4
(oddly no failure in the add-on test harness)
2010-08-31 16:18:50 +02:00
Philipp von Weitershausen
57109455df Bug 587027 - Use as little memory as possible (part 4)
Refactor Service._checkSetup() to Status.checkSetup().

Also move the test fixture for WeaveCryptoID to the individual tests that need it.
2010-08-25 15:49:45 -07:00
Philipp von Weitershausen
8010d792f1 Bug 587027 - Use as little memory as possible (part 2)
Fix tests
2010-08-25 15:49:45 -07:00
Philipp von Weitershausen
e96524714a Bug 523426 - Save a query for meta/global if info/collections reports unmodified meta [r=mconnor] 2010-08-23 06:20:39 -07:00
Philipp von Weitershausen
cc829291e7 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 4 followup: Fix a reference error in Weave.Service._checkServerError and improve test coverage for verifyLogin() to exercise that code path.
2010-08-10 18:16:57 +02:00
Philipp von Weitershausen
252e31061d Bug 585753 - Changeset 7e8b1f7852a9 breaks bookmark sync [r=mconnor] 2010-08-10 01:59:26 +02:00
Philipp von Weitershausen
3923f450c9 Bug 585740 - Weave.Service.login() should start trackers if it's called in lieu of a setup process [r=mconnor] 2010-08-10 01:46:54 +02:00
Philipp von Weitershausen
aefafbf9b3 Bug 583852 - Weave should not be querying on places views [r=mconnor]
Tests for the history store.
2010-08-09 18:38:18 +02:00
Philipp von Weitershausen
8b467f2644 Bug 585190 - Fix tracker tests on m-c [r=mconnor]
Ensure that the bookmark tracker test starts out with a clean slate.

Svc.History.removeAllPages(), as called by the history tracker test during clean up, needs the "UHist" alias registered, which isn't available by default in xpcshell.
2010-08-06 23:25:59 +02:00
Philipp von Weitershausen
feac8b17bf Bug 584241 - Disable trackers when client isn't configured [r=mconnor]
Tests and test fixes.

--HG--
rename : services/sync/tests/unit/test_engines_forms_store.js => services/sync/tests/unit/test_forms_store.js
2010-08-06 17:31:21 +02:00
Philipp von Weitershausen
9a3a4fc823 Bug 584722 - Make test_uploadOutgoing_failed (test_syncengine_sync.js) async [r=mconnor] 2010-08-06 16:55:06 +02:00
Philipp von Weitershausen
481a8d0356 Bug 578835 - wipeServer doesn't deal well with failure [r=mconnor]
Have wipeServer() abort if it encounters a server error (anything other than 200 or 404) and throw an exception.  Don't catch any exceptions wipeServer() throws, let them bubble up to the callers.
2010-08-05 18:24:45 +02:00
Philipp von Weitershausen
09068d65c1 Bug 584486 - Changing password via web leads to unknown error [r=mconnor] 2010-08-05 16:52:17 +02:00
Paul O’Shannessy
69a6017b51 Bug 584040 - Fix leaky tests [r=mconnor]
Make sure we explicitly nullify the cached services in the BookmarksStore & BookmarksTracker.
Also, explicitly finalize the statement if it was created.
2010-08-04 14:50:44 +02:00
Philipp von Weitershausen
0fea18b3fd Bug 584040 - Fix leaky tests [r=mconnor]
Avoid holding on to the original nsIFormHistory2 service object in FormNotifier.js and explicitly null the reference on shutdown.
2010-08-03 19:57:53 +02:00
Philipp von Weitershausen
91fc78c5c7 Bug 584170 - Make test_service_cluster.js less prone to timing problems [r=mconnor] 2010-08-03 22:20:40 +02:00
Paul O’Shannessy
275062c02e Bug 583985 - Disable leaky sync tests 2010-08-03 00:45:28 -07:00
Paul O’Shannessy
a85749668f Bug 583949 - Fix leaks in Firefox Sync unit tests (followup) 2010-08-03 00:43:42 -07:00
Justin Dolske
31c2a0210a Bug 583949 - Fix leaks in Firefox Sync unit tests 2010-08-02 22:37:13 -07:00
Philipp von Weitershausen
b9d6aa2172 Bug 583829 - Log4Moz.getLogger() should always be called with a name 2010-08-02 22:06:29 +02:00
Philipp von Weitershausen
a2466ae2e3 Bug 582083 - Should inspect POST responses for failed WBOs [r=Mardak]
Make sure records that failed to upload continue to be marked in the tracker so that they'll be uploaded again in the next sync.
2010-07-31 13:28:00 +02:00
Philipp von Weitershausen
223fbdf62d Bug 579510 - Make sure multi-byte passwords are stored and sent correctly [r=mconnor]
UTF8-encode passwords when creating accounts, changing passwords, and when authenticating. Detect old low-byte only passwords on the server and reupload them as UTF8.
2010-07-20 00:28:54 +02:00
Philipp von Weitershausen
16bb4e4523 Bug 629603 - Merge fx-sync. a=blockers 2011-01-28 13:45:43 -08:00
Philipp von Weitershausen
d22b2ca9c2 Bug 627511 - Merge fx-sync to mozilla-central. a=blockers 2011-01-27 22:10:26 -08:00
Philipp von Weitershausen
cdd64c99b1 Bug 625918 - Merge fx-sync to mozilla-central. a=blocking 2011-01-20 13:53:59 -08:00
Philipp von Weitershausen
0630004982 Merge bug 619238 from fx-sync. a=orange 2011-01-17 16:28:56 -08:00
Philipp von Weitershausen
213b550801 Bug 625684 - Merge fx-sync to mozilla-central. a=blockers 2011-01-14 14:44:53 -08:00
Philipp von Weitershausen
73ccff718e Bug 624982 - Merge fx-sync to mozilla-central. a=blockers 2011-01-13 21:43:02 -08:00
Philipp von Weitershausen
ea8b1dfe46 Bug 623788 - Merge fx-sync to mozilla-central. a=blockers 2011-01-11 23:49:33 -08:00
Philipp von Weitershausen
d8e7ec9f6a Merge fix for bug 623812. a=orange 2011-01-06 23:58:24 -08:00
Philipp von Weitershausen
93cbb2e26e Merge test fix for bug 623812. a=orange 2011-01-06 21:25:18 -08:00
Philipp von Weitershausen
281573af42 Bug 622999 - Merge fx-sync to mozilla-central. a=blockers 2011-01-06 17:29:54 -08:00
Philipp von Weitershausen
d33e901e7a Bug 621194 - Merge fx-sync to mozilla-central. a=blockers 2011-01-04 11:42:59 -08:00
Philipp von Weitershausen
76f04feb65 Merge bug 616001 from fx-sync to places. a=blocking-beta9 2010-12-14 16:27:54 -08:00
Philipp von Weitershausen
27abc97fdb Merge bug 618411. a=blocking-beta8 CLOSED TREE 2010-12-13 18:14:20 -08:00
Philipp von Weitershausen
c6b05f2bb1 Add missing test_service_passphraseUTF8 from bug 558963 2010-07-02 14:44:00 +02:00
Philipp von Weitershausen
0c89ecd876 Bug 569744 - Delayed loading of service.js causes test failures [r=Mardak]
Explicitly set username pref so that when service.js starts up (which it does after 10s, thanks to Weave.js) it doesn't reset the WeaveID's username to ''.
2010-07-14 18:36:13 +02:00
Philipp von Weitershausen
efc1efae81 Bug 558963, part 2, UTF-8 encode passphrase and rewrap keys if needed, r=mconnor 2010-07-03 14:13:40 -04:00
Philipp von Weitershausen
9b34f348c7 Bug 573740 - Register resource://services-sync before xpcshell tests get run [r=Mardak]
Don't try to create the alias too early, add-on chrome registration might not have happened yet, so do it during testing.
2010-06-23 16:28:10 +02:00
Philipp von Weitershausen
fc4daed597 Bug 569744 - Delayed loading of service.js causes test failures [r=Mardak]
Have FakeCryptoService.generateRandomIV() return 24 bytes so that Weave.Service._checkCrypto() believes it's the real deal. Fix undeclared variable.
2010-06-23 12:36:48 +02:00
Edward Lee
6ce04aa984 Bug 573679 - Fix tests to pass on trunk
Get a profile for xpcshell tests so that login manager works (and probably other stuff). Fix up anno test from this change to use a real bookmark id.
2010-06-22 18:28:37 -07:00
Edward Lee
547387482f Bug 573679 - Fix tests to pass on trunk
Use Utils.delay instead of setTimeout.
2010-06-22 16:49:33 -07:00
Edward Lee
6b59818d1b Bug 573679 - Fix tests to pass on trunk
Switch around which lazy services we use to test with but cover even more data types.
2010-06-22 16:48:55 -07:00
Edward Lee
cd82d6dcbb Bug 573679 - Fix tests to pass on trunk
Just take parts of a static string instead of randomly generating bytes and btoa-ing.
2010-06-22 16:47:44 -07:00
Edward Lee
80fc412879 Bug 573679 - Fix tests to pass on trunk
Use do_load_httpd_js for xpcshell tests and have consumers directly call new nsHttpServer().
2010-06-22 13:18:10 -07:00
Edward Lee
58b70d2360 Bug 573668 - Register appinfo with correct OS for tests
Register a fake AppInfo with correct OS if it doesn't exist yet. Just use Svc.Crypto instead of trying to dynamically pick the contract id. Name the head files so they load in appinfo -> helper -> http order.

--HG--
rename : services/sync/tests/unit/bookmark_setup.js => services/sync/tests/unit/head_appinfo.js
rename : services/sync/tests/unit/head_first.js => services/sync/tests/unit/head_helpers.js
2010-06-22 00:20:31 -07:00
Edward Lee
0192c7670c Bug 573679 - Fix tests to pass on trunk
Create a bookmark so that the url will exist when setting annotations.
2010-06-21 23:56:56 -07:00
Philipp von Weitershausen
919ecb4821 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 5: Tests for checkUsername, createAccount, changePassword
2010-06-17 16:47:13 +01:00
Philipp von Weitershausen
bf85b6b3c2 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 4: Get rid of superfluous attribute, introduce constants for password/passphrase realms, add/improve tests for login(), logout(), persistLogin().
2010-06-17 04:12:38 +01:00
Philipp von Weitershausen
47e58c78c2 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 3: Tests for Weave.Service._{find|set|update}Cluster()
2010-06-09 11:07:54 -07:00
Philipp von Weitershausen
e5aa302439 Bug 573015 - Get rid of 'attic' and 'need-work' tests [r=mconnor] 2010-06-18 09:39:03 -07:00
Edward Lee
46e1de249f Bug 570636 - Decide how to co-exist as a sync add-on and built-in sync [r=mconnor]
Migrate prefs from extensions.weave. to services.sync. when loading the service for the first time before migration.
2010-06-16 14:30:13 -07:00
Edward Lee
4e55362a90 Bug 570636 - Decide how to co-exist as a sync add-on and built-in sync [r=mconnor]
Map the modules directory to services-sync instead of weave and update imports.
2010-06-16 14:30:08 -07:00
Edward Lee
0d25dd2924 Bug 568677 - Failure to get CryptoMeta assumes it's missing [r=mconnor]
Explicitly check the status code to make sure we stop syncing on non-404 crypto meta failures. Add tests to check correct behavior of 404 and non-404 errors during syncStartup.
2010-06-14 15:16:53 -07:00
Philipp von Weitershausen
b37e25a581 Bug 570180 - Setup wizard sets passphrase='foo' [r=mconnor]
Promote _verifyLogin to a public method so we have a way to query login status even with a non-existent or invalid passphrase.
2010-06-14 21:03:39 +01:00
Philipp von Weitershausen
4eb68874cb Bug 570573 - Clean up uses of switch (Svc.AppInfo.ID) for app-specific hacks (Part 2) [r=mconnor]
Weave.Service.onStartup now triggers autoconnect after a fixed delay specified in a preference. If that preference is absent, nothing happens and apps are responsible for triggering autoconnect in a weave:service:ready observer themselves. Provide such observers for Firefox and Fennec.
2010-06-10 17:04:49 -07:00
Philipp von Weitershausen
128fdd1bef Bug 570573 - Clean up uses of switch (Svc.AppInfo.ID) for app-specific hacks (Part 1) [r=mconnor]
Weave.Service._registerEngines now reads the list of engines from a preference so that apps can specify it this way. The switch logic stays as fallback for the addon case.
2010-06-09 17:22:03 -07:00
Edward Lee
9ddf0f8ed5 Bug 546551 - Weave status bar notifications are too busy [r=mconnor]
Remove status bar icon/text for setup/connect/sync status. Add menuitem for setting up sync instead of drilling down a 1-item submenu that leads to a button. Remove unused Engine.displayName and related strings.
2010-06-14 10:30:37 -07:00
Edward Lee
0ef81dfdae Bug 569355 - source code reorg, redux [r=mconnor]
Split the code structure to service/{crypto,sync} and ui/{fennec,firefox}. Update the top level makefile to build the addon staging directory to merge various parts of directories.
2010-06-09 17:03:31 -07:00
Edward Lee
bf0c20b919 Bustage fix for bug 570635 to allow more time for the timeout to trigger. 2010-06-09 15:38:17 -07:00
Edward Lee
ef8599f8c5 Bug 570635 - Use async queries for fetching form data [r=mconnor]
Create a Utils.queryAsync to wrap executeAsync that fetches all rows and columns by name. Update form and history engines to use it.
2010-06-09 09:35:01 -07:00
Philipp von Weitershausen
fb0dbc769b Bug 569740 - Tab Characters within Usernames Can Cause Connectivity Issues & Security Events [r=mconnor]
Strip tabs from username since tabs are stripped from URIs and the username is part of all URIs.
2010-06-08 19:05:05 -07:00
Philipp von Weitershausen
79066a071f Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 2: Tests for module startup, Weave.Service attributes.
2010-06-04 17:05:55 +01:00
Philipp von Weitershausen
c0bcc6524a Bug 570152 - engine.js tests should completely reset preferences [r=mconnor]
Switch to resetBranch("") instead of resetting individual prefs.
2010-06-04 16:38:38 +01:00
Philipp von Weitershausen
66a57fc0d9 Bug 570137 - test_engine fails on Minefield [r=mconnor]
Setting an attribute that has a getter no longer throws an exception in Minefield, it's just ignored.
2010-06-04 15:14:27 +01:00
Philipp von Weitershausen
c827b6ed13 Bug 569730 - Can't log in a 2nd computer [r=Mardak]
Fix a regression introduced with the status.js refactoring (bug 557590).
2010-06-04 14:44:04 +01:00
Edward Lee
2ddf5e7a90 Bug 568136 - Migration requires client to check for a node again after a 401 [r=mconnor]
Allow observers to watch for resource 401s and to specify a new uri to request. Test to make sure "weave:resource:status:401" gets notified and resource handles uri changes.
2010-06-03 18:37:07 -07:00
Edward Lee
4ef8492eaf Bug 569746 - Test with sync with smaller numbers to speed up testing
Reduce test run time (w/ coverage tool) from 25 minutes to 2 minutes while maintaining the same code coverage by processing hundreds instead of thousands of records.
2010-06-02 16:51:48 -07:00
Philipp von Weitershausen
81632f2661 Bug 566575 - Some tests FAIL on first run and PASS or hang on subsequent runs [r=mconnor]
Update to httpd.js from mozilla-central. server.stop() now expects a callback parameter, so pass a no-op where it's used.
2010-06-01 15:25:23 -07:00
Philipp von Weitershausen
721e3fa637 Bug 557596 - code audit and create unit test plan for resource.js [r=mconnor]
Lots of resource tests, Resource.serverTime initialized to null, Resource.headers normalized to lowercase.
2010-06-01 15:15:53 -07:00
Philipp von Weitershausen
912b4b6b57 Bug 557590 - code audit and create unit test plan for status.js [r=mconnor]
Initialize status values in status.js + tests for status.js.
2010-06-01 15:12:25 -07:00
Philipp von Weitershausen
ceaa8fab03 Bug 557588 - code audit and create unit test plan for engines.js [r=mconnor]
Tests for SyncEngine.sync(), incl some additions to harness.
2010-06-01 15:07:50 -07:00
Philipp von Weitershausen
ba3ea98599 Bug 557588 - code audit and create unit test plan for engines.js [r=mconnor]
Tests for EngineMangerSvc, Engine and SyncEngine sans sync().
2010-06-01 15:06:16 -07:00
Edward Lee
39c7860ed8 Bug 569428 - Add tests for FormEngine (Store) 2010-06-01 12:44:51 -07:00
Edward Lee
80423cab37 Bug 557591 - Add tests for Utils.sha1. 2010-06-01 11:59:21 -07:00
Edward Lee
8d2951b399 Bug 557591 - Add tests for Utils.anno with invalid uris. 2010-06-01 11:30:11 -07:00
Edward Lee
89f3d54c0f Bug 568518 - Unhelpful log messages [r=mconnor]
Remove "Server attack" from exceptions.
2010-05-27 11:04:30 -07:00
Edward Lee
4d78de7c1b Add tests for Utils.jsonSave and Utils.jsonLoad. 2010-05-20 18:03:19 -07:00
Edward Lee
7905ede039 Bug 557591 - Add tests for Utils.makeURI. 2010-05-19 09:40:45 -07:00
Edward Lee
e241252a4e Bug 557591 - Add tests for Utils.sha256HMAC. 2010-05-18 13:40:12 -07:00
Edward Lee
7c019e0309 Bug 557591 - Add tests for Utils.stackTrace. 2010-05-17 14:17:32 -07:00
Edward Lee
7befe92e24 Bug 557591 - Add tests for Utils.lazySvc. [r=mconnor]
Add a fake service that definitely won't exist for testing purposes.
2010-05-17 13:46:19 -07:00
Edward Lee
d54124209a Bug 557591 - Add tests for Utils.lazy2/cb.
--HG--
rename : services/sync/tests/unit/test_utils_lazy.js => services/sync/tests/unit/test_utils_lazy2.js
2010-05-17 12:47:29 -07:00
Edward Lee
247c43e425 Bug 557591 - Add tests for Utils.lazy/cb.
--HG--
extra : rebase_source : 4f2d102f31b2afa8d3c34261b63b344fccef824b
2010-05-17 12:43:20 -07:00
Edward Lee
cdf7defc20 Bug 557591 - Add tests for Utils.deferGetSet. 2010-05-14 17:31:24 -07:00
Edward Lee
36f17f2c20 Bug 557591 - Add tests for Utils.anno. 2010-05-10 18:08:52 -07:00
Edward Lee
310f605d46 Bug 557591 - Add tests for Utils.makeGUID. 2010-05-10 17:22:48 -07:00
Edward Lee
0e5816ef90 Bug 557591 - Add tests for Utils.notify. 2010-05-10 17:05:50 -07:00
Edward Lee
c61020e275 Bug 557591 - Add tests for Utils.lock. 2010-05-10 16:42:04 -07:00
Edward Lee
ff586e08e3 Bug 557591 - Add tests for Utils.catch.
--HG--
extra : rebase_source : 545492072668cfb6862dde756506e12cf43d4375
2010-05-10 16:22:32 -07:00
Justin Dolske
661389fa2f Bug 513798 - Rewrite WeaveCrypto in JS. r=mconnor, r=dwitte
--HG--
rename : services/crypto/components/IWeaveCrypto.xpt => services/crypto/IWeaveCrypto.xpt
2010-04-21 19:02:16 -07:00
Edward Lee
3b4aa0220d Bug 550627 - Default reconciliation to server wins for older changed items [r=mconnor]
Save the time the tracker adds a new changed id and use that to compare the age of the record on the server vs the age of the local change to decide if it's server wins or client wins. Fix up various direct uses of changedIDs to use the API and make the save-to-disk lazy to avoid excessive writes. Add a test to make sure addChangedID only increases in time.
2010-04-01 15:54:53 -07:00