Commit Graph

336 Commits

Author SHA1 Message Date
Kyle Huey
45adfbf2c8 Bug 798491: Add an option to stick all chrome JSMs/JS components in the same compartment. r=mrbkap,philikon
--HG--
extra : rebase_source : 98337b6a8c07d05e8c961a452dd05a7d75c3c60b
2012-10-31 09:13:28 -07:00
Vicamo Yang
e6e6deb486 Backout 67cb43bb8865: Breaks B2G Marionette 2012-10-31 16:35:11 +08:00
Kyle Huey
7457de64ad Bug 798491: Add an option to stick all chrome JSMs/JS components in the same compartment. r=mrbkap,philikon 2012-10-30 12:28:11 -07:00
Ed Morley
a7bb0ec116 Backout a145ded68994, e0cf397089ec & 1545e91c658e (bug 798491) for bustage on a CLOSED TREE 2012-10-30 17:02:31 +00:00
Kyle Huey
dd0cfd935a Bug 798491: Add an option to stick all chrome JSMs/JS components in the same compartment. r=mrbkap,philikon 2012-10-30 08:26:12 -07:00
Gregory Szorc
43c6e1d377 Bug 787273 - Part 6: Remove Weave export from service.js; r=rnewman
This is mostly minor cosmetic changes. Weave was being exported from
service.js for no apparent reason. It was mostly used by tests.

There was a reference to it in engines.js, which should have been caught
when the engines were associated with a service instance. engines.js now
does the right thing.

Weave is no longer exported by service.js. Tests and modules no longer
import main.js.

WeaveSvc was also renamed to Sync11Service because why not.

Weave continues to be the main public API.
2012-09-14 16:02:33 -07:00
Gregory Szorc
98dea330a4 Bug 787273 - Part 5: Remove the CollectionKeys singleton; r=rnewman
CollectionKeys is gone. Instead, we export CollectionKeyManager (the
underlying type) and an instance is available on the Service singleton.
2012-09-14 16:02:33 -07:00
Gregory Szorc
48db52e99d Bug 787273 - Part 4: Refactor Identity to not be a singleton; r=rnewman
Access to IdentityManager functionality now goes through the Service
singleton.
2012-09-14 16:02:33 -07:00
Gregory Szorc
58bcd2801d Bug 787273 - Part 2: Refactor Resource and Record to not rely on singletons; r=rnewman
Resource currently relies on the Identity singleton to perform
authentication. This is bad magic behavior. Resource instances should
authenticate according to the service instance they are associated with.

This patch removes Identity magic from Resource. Everything using
Resource now explicitly assigns an authenticator which comes from
the service instance/singleton. This required API changes to Collection
and Record.

The preferred method to obtain a Resource instance is to call
getResource() on a service instance.

The end result of this patch looks a little weird, especially in test
code. You have things like Service.resource(Service.cryptoKeysURL).
This ugliness will go away when a unified storage service client is
used.
2012-09-14 16:02:32 -07:00
Gregory Szorc
c9586f34a5 Bug 787273 - Part 1: Remove Records singleton; r=rnewman
RecordManager is now an instance of the Service singleton and holds a
reference back to the service which is used to obtain needed "global"
state.
2012-09-14 16:02:32 -07:00
Gregory Szorc
45d3f90cf3 Bug 785225 - Part 9: Refactor engines to not use singletons; r=rnewman
Engines now maintain a reference to the service they belong to. This
allows them to obtain references to other engine instances belonging to
that service and that service only.

Stores and trackers now maintain a reference to the engine they belong
to.

Engine managers now maintain a reference back to a service.

The clients singleton has been removed. It now exists as an instance
variable on Service. Parts of ClientsEngine do behave as singletons
(e.g. commands). This will be addressed in future refactoring.
2012-08-29 14:43:41 -07:00
Gregory Szorc
57684fd336 Bug 785225 - Part 4: Remove unused exports from Weave; change engine loading; r=rnewman
Lots of exports from the Weave global object weren't being used. This
also changes how engines are loaded. There is now a mapping in
service.js of engine name to filename. Before, it was looking at Weave.
2012-08-29 14:43:40 -07:00
Gregory Szorc
50628a23db Bug 785225 - Part 2: Minimize Engines singleton usage; r=rnewman
Weave.Engines is no longer exported. Service now exposes an
EngineManager instance, which is the new recommended way to get at the
engine manager. Service was updated to reference the internal instance.
2012-08-29 14:43:40 -07:00
Gervase Markham
87620f5676 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Gregory Szorc
49412510e0 Bug 731494 - Refactor generic code from services/sync into services/common; r=rnewman
--HG--
rename : services/sync/modules/async.js => services/common/async.js
rename : services/sync/modules/log4moz.js => services/common/log4moz.js
rename : services/sync/modules/ext/Observers.js => services/common/observers.js
rename : services/sync/modules/ext/Preferences.js => services/common/preferences.js
rename : services/sync/modules/ext/StringBundle.js => services/common/stringbundle.js
rename : services/sync/tests/unit/test_async_chain.js => services/common/tests/unit/test_async_chain.js
rename : services/sync/tests/unit/test_async_querySpinningly.js => services/common/tests/unit/test_async_querySpinningly.js
rename : services/sync/tests/unit/test_log4moz.js => services/common/tests/unit/test_log4moz.js
rename : services/sync/tests/unit/test_Observers.js => services/common/tests/unit/test_observers.js
rename : services/sync/tests/unit/test_Preferences.js => services/common/tests/unit/test_preferences.js
rename : services/sync/tests/unit/test_restrequest.js => services/common/tests/unit/test_restrequest.js
rename : services/sync/tests/unit/test_utils_makeURI.js => services/common/tests/unit/test_utils_makeURI.js
rename : services/sync/tests/unit/test_utils_namedTimer.js => services/common/tests/unit/test_utils_namedTimer.js
rename : services/sync/tests/unit/test_utils_stackTrace.js => services/common/tests/unit/test_utils_stackTrace.js
2012-04-05 23:26:06 -07:00
Gregory Szorc
9849ea91e2 Bug 730989 - Refactor identity and authentication in Sync; r=rnewman 2012-03-22 15:49:50 -07:00
Gregory Szorc
9428ab2bbe Bug 732605 - Only schedule shorter sync interval if records were successfully applied; r=rnewman, r=mconnor 2012-03-06 14:27:56 -08:00
Gregory Szorc
f8528d4840 Bug 710448 - Rewritten Sync record reconciling to handle edge cases; r=rnewman, r=philikon
This patch rewrites Sync's record reconciling logic to properly handle
edge cases. Before, there were a few cases where data loss could occur
because of improperly handled and ignored timestamps.
2012-01-25 13:32:05 -08:00
Gregory Szorc
a588914fb5 Bug 709424 - More robust handling of reconciling for duplicate records; r=rnewman 2011-12-13 15:46:54 -08:00
Richard Newman
eab3e9f84f Bug 684798 - Part 3: Catch server errors when wiping/disabling engines. r=rnewman (reland) 2011-10-27 22:25:00 -07:00
Philipp von Weitershausen
28bd994e45 Back out bug 684798 parts 1 thru 3. 2011-10-20 16:21:17 -07:00
Philipp von Weitershausen
c63e6756a8 Bug 684798 - Part 3: Catch server errors when wiping/disabling engines. r=rnewman 2011-10-12 13:55:19 -07:00
Gregory Szorc
0e59ef5a22 Bug 685757 - Document Store API; r=philikon DONTBUILD 2011-09-09 10:34:58 -07:00
Philipp von Weitershausen
ebb3454501 Bug 681863 - Replace Utils.isArray with Array.isArray. r=rnewman 2011-08-26 10:26:11 -07:00
Richard Newman
614e3df10c Bug 679279 - Part 3: Object.keys and test improvements. r=philikon 2011-08-19 17:17:58 -07:00
Richard Newman
87ca8dd03f Bug 679279 - Part 1: minor improvements to engines code. r=philikon
In particular, tracking of _modified items no longer allows _modified to
occasionally not exist! This condition was hit in Bug 675299.
2011-08-19 17:17:58 -07:00
Marina Samuel
c45b32a359 Bug 664792 - Tune sync intervals according to user behaviour. r=philikon
Part 4: Adjust sync interval based on idle time.
2011-06-27 14:24:33 +01:00
Richard Newman
5bf0b6446b Bug 656513: part 1: provide a way for record handlers to abort incoming sync. r=philiKON 2011-06-15 00:03:32 -07:00
Philipp von Weitershausen
3095595fe1 Bug 661587 - Don't use the root logger. r=rnewman 2011-06-13 20:42:18 +02:00
Philipp von Weitershausen
546d99116d Bug 662178 - Simplify timed callbacks. r=rnewman 2011-06-06 21:27:36 +02:00
Richard Newman
5b644a32fd Move Resource.serverTime to AsyncResource, fix comments for AsyncResource. r=philiKON 2011-05-30 19:01:25 -07:00
Richard Newman
d86728156d Move async utilities into async.js. Add Async.makeSpinningCallback as a temporary shim for wrapping Cb versions of functions. r=philiKON 2011-05-30 19:01:13 -07:00
Marina Samuel
7948b2a496 Bug 659107 - Only report failure for newly failed items. r=philikon,rnewman 2011-05-27 17:32:13 -07:00
Philipp von Weitershausen
08f48b17e4 Bug 648364 - Replace custom helpers with XPCOMUtils.jsm. r=rnewman 2011-05-19 18:08:35 -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
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
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
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
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
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
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
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
9ee1e6ed53 Bug 623813 - Preserve stack traces when rethrowing exceptions conditionally. r=mconnor 2011-01-13 14:01:05 -08:00
Richard Newman
906e72b628 Bug 618341: Rethrow exceptions we aren't supposed to handle. r=philiKON 2010-12-10 15:43:12 -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