gecko-dev/dom/interfaces
Kit Cambridge 21fdc3d97d Bug 1275434 - Refactor `PushNotifier` to clarify remoting logic. r=dragana
Previously, all `PushNotifier` methods checked the process type, and
either called `Notify*{Workers, Observers}` or sent an IPDL message.
The message handlers then called back in to `PushNotifier` from the
remote process.

This was clearer when we only sent worker event notifications to the
content process, and fired all observer notifications in the parent.
It became more complicated once we started notifying observers for all
subscriptions in both processes (bug 1266433). This makes it harder to
see omissions; for example, "push-subscription-modified" isn't
currently forwarded to the child, but "push-subscription-change" and
"push-message" are.

This patch moves the remoting code into `PushNotifier::Dispatch`, and
adds a base `PushDispatcher` class. Each notification type subclasses
this class and implements logic for sending messages and firing
observers and worker events. It's more code, but a bit easier to see
which methods are called where.

MozReview-Commit-ID: 7Q0eD7qXOrW

--HG--
extra : rebase_source : c69acb95a0cb5470cf1c804639971be41b976cc2
2016-05-19 19:01:34 -07:00
..
apps Bug 1261011 - Remove Inter-App Communication API; r=fabrice 2016-05-05 07:39:10 -04:00
base Bug 1265841 - Implement the `notificationclose` service worker event. r=wchen,baku 2016-04-19 22:04:09 -07:00
canvas
core Bug 1256299 - Remove redundent trailing spaces. r=bz 2016-03-25 18:23:53 +08:00
css Bug 1256178 - Drop the moz prefix from the MozCSSKeyframeRule and MozCSSKeyframesRule interfaces; r=bzbarsky 2016-03-15 10:23:01 -04:00
events Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
gamepad
geolocation
html Bug 909633. Remove the HTML Microdata API, since no one else ended up implementing it and now it's been removed from the spec. r=bkelly,jgraham 2016-05-20 23:13:17 -04:00
json
notification Bug 1251045 part 8. Remove the JSContext argument from some nsINotificationStorageCallback methods. r=khuey 2016-02-26 15:23:12 -05:00
offline
permission
push Bug 1275434 - Refactor `PushNotifier` to clarify remoting logic. r=dragana 2016-05-19 19:01:34 -07:00
range
security Bug 1265318: add require-sri-for CSP directive. r=ckerschb 2016-05-31 11:14:00 +02:00
settings
sidebar
smil Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
storage Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
stylesheets
svg
traversal
xbl
xpath
xul Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00