Commit Graph

171 Commits

Author SHA1 Message Date
Alexandre Lissy
1c23ba77af Bug 1082001 - Cleanup settings lock from parent itself. r=bent
From bug 1065128 SettingsManager has been changed to listen the
dom-window-destroyed event for its cleanup. However, when running Gaia
in Mulet, a race condition is exposed. For B2G, when loading a page,
about:blank is first used. This means that window destroyed events will
be triggered. However, from the dom-window-destroyed event we cannot
distinguish whether this is about:blank or a legit application being
closed. SettingsManager gets initialized (i.e., init() called) when the
application makes use of navigator.mozSettings. So the chain of event is
that we have a SettingsManager living because System app did some
request. At this time, about:blank is being unloaded and triggers a
dom-window-destroyed event. This makes SettingsManager doing its
cleanup, especially freeing the window reference. Then in the meantime,
we have the navigator.mozSettings use that is progressing. At some
point, SettingsManager has no more window to send messages to, and Gaia
is not able to even start.

SettingsRequestManager lives on the parent process and SettingsManager
lives on the child side. Part of the cleanup performed by
SettingsManager was to ensure pending locks on the parent process would
be forced to finalize to make sure those are being properly committed.
We move this cleanup to SettingsRequestManager and we augment the lock
informations with the proper inner window id. This way we can track
which lock is attached to which inner window when the lock gets created.
And thus we can listen on inner-window-destroyed from
SettingsRequestManager to be able to force finalize on any pending lock.
Impacted code path are those were we are not running out of process.
When we are running out of process, SettingsRequestManager already
listens on the child-process-shutdown event to perform the lock
finalization.
2014-10-29 02:36:00 -04:00
Gregor Wagner
c367702dc9 Bug 1080847 - [Settings] No need to export SettingsRequestManager r=baku 2014-10-21 13:48:42 -07:00
Alexandre Lissy
7a36565622 Bug 1076597 - Fix Settings API shutdown race condition. r=bent
When child message manager dies, it sends a child-process-shutdown
message to the SettingsRequestManager. This would just close the locks
and tasks of this message manager. The race happens when some
applications can shutdown quickly: settings requests will never be
committed to the database. One example is the callscreen. The fix,
provided by qDot, simply put those tasks in a finalize state to make
sure they are properly executed and committed.
2014-10-09 05:12:00 -04:00
Ryan VanderMeulen
2d89ab04d3 Backed out changeset 69866036d793 (bug 1076597) for being the wrong patch that landed. 2014-10-21 10:12:56 -04:00
Kyle Machulis
ee719e8f3c Bug 1073259 - Print more descriptive errors when SettingsManager tries to make a request with an invalid window. r=bent 2014-10-17 05:24:00 -04:00
Alexandre Lissy
bb2e647b5b Bug 1076597 - Fix Settings API shutdown race condition. r=bent 2014-10-07 06:35:00 -04:00
Andrea Marchesini
2ca496756f Bug 1047483 - patch 1 - Porting DOMFile/DOMBlob to WebIDL, r=bz, r=bkelly, r=bholley 2014-10-08 17:15:22 +01:00
Ryan VanderMeulen
671d1a817e Backed out 7 changesets (bug 1047483, bug 1079301, bug 1079335) for webplatform test failures.
Backed out changeset 7d06b68c44d0 (bug 1079335)
Backed out changeset 92030169528e (bug 1079301)
Backed out changeset c09d7f95554a (bug 1047483)
Backed out changeset c199f1057d7e (bug 1047483)
Backed out changeset 18830d07884c (bug 1047483)
Backed out changeset e087289ccfbb (bug 1047483)
Backed out changeset 6238ff5d3ed0 (bug 1047483)

CLOSED TREE

--HG--
rename : content/base/public/File.h => content/base/public/nsDOMFile.h
rename : content/base/src/MultipartFileImpl.cpp => content/base/src/nsDOMBlobBuilder.cpp
rename : content/base/src/MultipartFileImpl.h => content/base/src/nsDOMBlobBuilder.h
rename : content/base/src/File.cpp => content/base/src/nsDOMFile.cpp
2014-10-07 13:16:11 -04:00
Andrea Marchesini
0e29ce2ea6 Bug 1047483 - patch 1 - Porting DOMFile/DOMBlob to WebIDL, r=bz, r=bkelly, r=bholley 2014-10-07 15:20:52 +01:00
Ting-Yu Chou
f3d0825d84 Bug 1064800 - Catch exception from sending message to prevent interrupting execution. r=khuey 2014-10-02 10:57:48 +08:00
Mike Habicher
03a030b03e Bug 1053966 - move mozsettings-changed Observer info from aSubject to aData, r=bz,qDot 2014-09-16 13:15:16 -04:00
Kyle Machulis
e2ae4d6709 Bug 1071721 - Call destroyDOMRequestHelper on SettingsLock after transaction ends; r=bent 2014-09-23 13:13:50 -07:00
Kyle Machulis
86d9a798cc Bug 1069605 - Make sure settings lock exists before trying to remove it; r=bent 2014-09-18 17:23:27 -07:00
Kyle Machulis
b9ae5a6b12 Bug 1069605 - Only send messages in SettingsLocks when window is live; r=bent 2014-09-18 17:23:00 -07:00
Kyle Machulis
afd8b3af87 Bug 1068962 - Fix task cleanup on settings locks where finalize has already been called; r=bent
--HG--
extra : rebase_source : 18992e6c2e0277d2866fe92048b52a0a55a55ee6
2014-09-18 13:43:40 -07:00
Kyle Machulis
0cbd70639b Bug 1068962 - Fix settings lock ownership array splice; r=bent
--HG--
extra : rebase_source : 0374ddeaffe0936ac7bb78aff0fc5b3a467c3bd1
2014-09-18 10:08:36 -07:00
Ryan VanderMeulen
4ddd261546 Backed out changeset ed586ca080c0 (bug 1053966) for the same Mnw permafails it was backed out for previously. 2014-09-16 16:54:25 -04:00
Mike Habicher
a4981f12d6 Bug 1053966 - move mozsettings-changed Observer info from aSubject to aData, r=bz,qDot 2014-09-16 13:15:16 -04:00
Kyle Machulis
6f09b0dc5c Bug 1065128 - Fix SettingsRequestManager storage of MessageManager Principals; r=bent 2014-09-15 13:39:20 -07:00
Kyle Machulis
d1d99064ce Bug 1065128 - Make SettingsManager use dom-window-destroyed for shutdown; r=bent 2014-09-15 13:39:20 -07:00
Kyle Machulis
2e5a3460bf Bug 1061805 - Make sure Settings API only calls finalize once; r=bent 2014-09-15 09:29:29 -07:00
Kyle Machulis
dd58fe3514 Bug 1062087 - Fix undefined variable error messages in Settings API; r=bent 2014-09-05 18:39:54 -07:00
Kyle Machulis
7b2608fdff Bug 1061510 - Make settings api always check principals for permissions; r=bent
--HG--
extra : rebase_source : ece6c6808f391f5dd0661cb3c7acbc942d8bb4ac
2014-09-04 11:15:10 -07:00
Kevin Grandon
8391184599 Bug 1061902 - [SettingsDB] Bump version number. r=gwagner 2014-09-02 13:40:00 +02:00
Kyle Machulis
e281053428 Bug 1060934 - Remove SettingsQueue.jsm file; r=fabrice a=2.1 2014-08-31 14:42:47 -07:00
Kyle Machulis
651ae8d1aa Bug 1060691 - Fix error message comparison test; a=kwierso 2014-08-29 18:09:46 -07:00
Kyle Machulis
d7b4f3d674 Bug 1060691 - Clean up settings api debug messages; r=gwagner a=2.1 2014-08-29 16:36:02 -07:00
Kyle Machulis
c2bbeca192 Bug 1015518 - Update SettingsService mochitests; r=bent 2014-08-27 21:01:31 -07:00
Kyle Machulis
fb56d9d590 Bug 1015518 - Use SettingsRequestManager as SettingsService Backend; r=bent 2014-08-27 21:01:31 -07:00
Kyle Machulis
9ed9dbaba5 Bug 900551 - Mochitests for settings permissions; r=bent r=ehsan 2014-08-27 21:01:30 -07:00
Kyle Machulis
8127b43eeb bug 900551 - Settings API OOP; r=bent 2014-08-27 21:01:29 -07:00
Kyle Machulis
61adc43df3 Bug 846200 - Update mochitests to use new settings-api permissions; r=bent
--HG--
extra : rebase_source : edf9accf26a49a541c2f87847c2fe89c42a20fd6
2014-08-27 21:01:29 -07:00
Kyle Machulis
0c31500dac Bug 846200 - Support for granting settings permissions on a per-permission basis; r=bent
--HG--
extra : rebase_source : 941bc56c900d6eb96a49af80be2b328155c0ea45
2014-08-27 21:01:29 -07:00
Ryan VanderMeulen
b392753c94 Backed out 11 changesets (bug 1059079, bug 1015518, bug 900551, bug 846200) for Gaia UI test failures on a CLOSED TREE.
Backed out changeset d85b4e48b3b4 (bug 1015518)
Backed out changeset 663b73ba69ec (bug 1015518)
Backed out changeset 5cf1cb5fa022 (bug 900551)
Backed out changeset b953dd5bfdaa (bug 900551)
Backed out changeset a2b6d7c84100 (bug 900551)
Backed out changeset ceb79fe83d15 (bug 900551)
Backed out changeset f6acf344fbf0 (bug 900551)
Backed out changeset fa269ea53937 (bug 846200)
Backed out changeset b89c84a850f9 (bug 846200)
Backed out changeset b7a7dfbe4e3f (bug 846200)
Backed out changeset c6f54d821c11 (bug 1059079)
2014-08-28 12:49:49 -04:00
Kyle Machulis
3562e63709 Bug 1015518 - Update SettingsService mochitests; r=bent 2014-08-27 21:01:31 -07:00
Kyle Machulis
fdb53e5440 Bug 1015518 - Use SettingsRequestManager as SettingsService Backend; r=bent 2014-08-27 21:01:31 -07:00
Kyle Machulis
c4b4886003 Bug 900551 - Mochitests for settings permissions; r=bent r=ehsan 2014-08-27 21:01:30 -07:00
Kyle Machulis
3d4e0958e2 Bug 900551 - Settings API OOP; r=bent 2014-08-27 21:01:29 -07:00
Kyle Machulis
5dda1ed398 Bug 846200 - Update mochitests to use new settings-api permissions; r=bent 2014-08-27 21:01:29 -07:00
Kyle Machulis
1d70e86ac7 Bug 846200 - Support for granting settings permissions on a per-permission basis; r=bent 2014-08-27 21:01:29 -07:00
Edgar Chen
98cb252bc1 Bug 1053733 - SettingsManager sends register message to SettingsChangeNotifier again when receives Settings:Notifier:Init:OK. r=qdot 2014-08-14 12:17:39 +08:00
Kyle Machulis
1d5ce3afdf Backing out b5d49f1885af as it wasn't properly backed out in 0611006cc095
--HG--
extra : rebase_source : 22687deeeee7abd76e424b21bec8fc59fb6f7515
2014-08-20 13:37:55 -07:00
Kyle Machulis
ac4292322a Backed out d71120161e89 b5d49f1885af (bug 846200) due to missing xpc shell test fix patch 2014-08-20 12:01:18 -07:00
Kyle Machulis
2774a39a7e Bug 846200 - Update mochitests to use new settings-api permissions 2014-08-20 10:40:40 -07:00
Kyle Machulis
7f4bf1c359 Bug 846200 - Support for granting settings permissions on a per-permission basis 2014-08-20 10:40:37 -07:00
Ed Morley
cb352a10a2 Backed out changeset a880d4e0d656 (bug 846200) for xpcshell failures in test_bug808734.js; CLOSED TREE 2014-08-19 09:17:30 +01:00
Ed Morley
6798aee341 Backed out changeset b01c7abafbdf (bug 846200) 2014-08-19 09:17:06 +01:00
Kyle Machulis
daac219fc8 Bug 846200 - Update mochitests to use new settings-api permissions; r=bent 2014-08-18 22:06:59 -07:00
Kyle Machulis
01ac90c8aa Bug 846200 - Support for granting settings permissions on a per-permission basis; r=bent 2014-08-18 22:06:54 -07:00
Andrea Marchesini
e58696bfd1 Bug 1046839 - Unnecessary double cloneInto in mozSettings, r=bholley 2014-07-31 17:46:23 +01:00