Commit Graph

33 Commits

Author SHA1 Message Date
Ehsan Akhgari
8ec3d68db3 Bug 1201127 - Return the same ServiceWorkerRegistration object from service worker APIs dealing with the same underlying registration object; r=jdm 2015-11-26 15:13:33 -05:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nikhil Marathe
6d235278db Bug 1203324 - disable notifications on serviceworkers. r=ehsan,wchen
Per the product discussion, the Notification API should be disabled in
ServiceWorker in release builds for 42 since the UX isn't great [1].

The aim is to release in 44.

Apologies for the code duplication for pref checking in Notification and
ServiceWorkerRegistration. There isn't a easy way to get
ServiceWorkerRegistration's generated binding to include Notification.h without
having an attribute/method that uses Notification.

[1]: https://mana.mozilla.org/wiki/x/TgAJAw

--HG--
extra : commitid : 5dtc2E63kuM
extra : rebase_source : 4265dcd154462aa4f3b915e9e898fe7b82bf9afc
2015-09-15 12:58:32 -07:00
Nikhil Marathe
0047229d92 Bug 1187350 - update() should return a Promise. r=ehsan,catalinb
--HG--
extra : commitid : 2SkKnobC9jo
extra : rebase_source : 5f5d5c3ca57237fb63044c66a48861a1a4bf19f3
extra : amend_source : 5ea042fc5cc2be52594eca1fd6cda2f36057b3eb
2015-08-14 15:06:00 -07:00
Nikhil Marathe
cf6e7ed78b Bug 1184574 - Allow access to PushManager on ServiceWorker. r=kitcambridge,smaug,catalinb
Refactoring to allow access to PushManager in ServiceWorkerGlobalScope. See comment in PushManager.h for details.

--HG--
extra : commitid : A7RvB9rm8av
extra : transplant_source : %20%99%CA%B0%EB%B9%82%27D%F7e%B8UQ%12%E6%9B%18%BB5
2015-07-23 08:30:15 -07:00
Nikhil Marathe
b3f34da652 Bug 1114554 - Patch 2 - ServiceWorkerRegistration.showNotification(). r=wchen,baku
Refactor creation and show dispatch so Notification constructor and showNotification can use it.
Move persistence to ShowInternal.
NotificationStorage calls callback async even when fetching from cache, simply to have similar semantics.
Calls to Notification::Get() are performed async since persistence is now async after being moved to ShowInternal().
Both are in accordance with the spec where the "append to list of notifications" operation is performed in the "show steps" which are performed in parallel from API invocations.

--HG--
extra : rebase_source : 52d3864fb39aa892d2f70dc2b71f09fb0d2ba533
2015-06-25 18:50:24 -07:00
Nikhil Marathe
0b129137a7 Bug 1114554 - Patch 1 - Notification ServiceWorker API stubs. r=wchen,baku
--HG--
extra : rebase_source : e033641ae9d271d1681c424f533db63671b3e735
2015-06-25 18:50:24 -07:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Ryan VanderMeulen
84d140a54b Backed out 11 changesets (bug 916893, bug 1114554) for various mochitest and Gij failures.
Backed out changeset 247ca4bf258e (bug 1114554)
Backed out changeset 5578d5c280a6 (bug 1114554)
Backed out changeset 404830c1ecf7 (bug 1114554)
Backed out changeset 15bdf9c78e6e (bug 1114554)
Backed out changeset f92abe5ec784 (bug 1114554)
Backed out changeset 75324b6862a8 (bug 1114554)
Backed out changeset ce8a768782f2 (bug 1114554)
Backed out changeset 0d860fd12534 (bug 1114554)
Backed out changeset 7dc2448065a9 (bug 916893)
Backed out changeset c3b07f0d1a60 (bug 916893)
Backed out changeset 61c3f24cc908 (bug 916893)

CLOSED TREE
2015-06-25 19:52:40 -04:00
Nikhil Marathe
7df5ce7b58 Bug 1114554 - Patch 2 - ServiceWorkerRegistration.showNotification(). r=wchen,baku
Refactor creation and show dispatch so Notification constructor and showNotification can use it.
Move persistence to ShowInternal.
NotificationStorage calls callback async even when fetching from cache, simply to have similar semantics.
Calls to Notification::Get() are performed async since persistence is now async after being moved to ShowInternal().
Both are in accordance with the spec where the "append to list of notifications" operation is performed in the "show steps" which are performed in parallel from API invocations.

--HG--
extra : rebase_source : 1becb5055dc29166dc6445227bab4b9daed213cf
2015-05-06 13:52:41 -07:00
Nikhil Marathe
914907fc27 Bug 1114554 - Patch 1 - Notification ServiceWorker API stubs. r=wchen,baku
--HG--
extra : rebase_source : 10558f76070842454f22356d35b4f6639f990e29
2015-03-10 18:57:09 -07:00
Andrew McCreight
e32a66ebb3 Bug 1166488 - Eliminate ServiceWorkerRegistrationBase::mCCDummy. r=smaug 2015-05-20 09:55:07 -07:00
Nikhil Marathe
9ecfa34d9b Bug 1131327 - Patch 10 - Remember to remove the feature. r=baku
--HG--
extra : rebase_source : 3bc133e8e22dce4b65cb0b90db7b806a2ad96eef
2015-04-17 16:44:58 -07:00
Nikhil Marathe
a24add821f Bug 1131327 - Patch 7 - Fire updatefound on worker registration. r=baku
--HG--
extra : rebase_source : d87fd98d37ee45fb592a0fba764b099485df7cb3
2015-04-08 15:22:36 -07:00
Nikhil Marathe
d7b71e8fbf Bug 1131327 - Patch 6 - SWM holds ServiceWorkerRegistrationListener for updatefound and invalidation notifications. r=baku
Splits up the listener interface to which SWM can hold rawptrs so that registration objects living on the worker thread can use awkward proxies to listen to these events.

--HG--
extra : rebase_source : 7b9753742b3dd6e416057fdee528b0d2067c55a9
2015-04-08 13:13:32 -07:00
Nikhil Marathe
e1029f2748 Bug 1131327 - Patch 5 - Implement ServiceWorkerRegistration.unregister() on worker. r=baku
--HG--
extra : rebase_source : f8beb830277b9351673ccfd42b7b0a25516fb4dd
2015-04-07 14:17:02 -07:00
Nikhil Marathe
279301faf2 Bug 1131327 - Patch 4 - Implement ServiceWorkerRegistration.update() on worker. r=baku
ServiceWorkerGlobalScope::Registration() now returns initialized registration.

--HG--
extra : rebase_source : 6c07c86c0ddc4b3d714ebc423ff40282217d7f4c
2015-04-07 11:50:08 -07:00
Nikhil Marathe
d9d452e06b Bug 1131327 - Patch 3 - move event listeners to main thread class. r=baku
--HG--
extra : rebase_source : 66145d7dbddd0e0a89164ffa7a3dd2805e3a609b
2015-04-07 13:09:07 -07:00
Nikhil Marathe
5b54bf699f Bug 1131327 - Patch 2 - Expose to workers. r=baku
This patch exposes ServiceWorkerRegistration (and ServiceWorker to satisfy constraints) to workers.

For now, a null registration is returned in the worker.

--HG--
extra : rebase_source : ae1b59d5ee3b3522826ed59fcfcb31e009018ac3
2015-04-03 22:46:07 -07:00
Nikhil Marathe
3f0efb4e4d Bug 1131327 - Patch 1 - Introduce ServiceWorkerRegistration{Base,MainThread,WorkerThread} r=baku
--HG--
extra : rebase_source : 352f05447f45a9dfa651bf683d22659b83508814
2015-04-03 15:18:55 -07:00
Nikhil Marathe
e8ed488816 Bug 1131350 - Move update() to ServiceWorkerRegistration. r=baku
--HG--
extra : rebase_source : 0483ec35b9b53c4970afaf76ff3b8a6f92120e34
2015-03-19 18:09:10 -07:00
Doug Turner
9c9d8e38df Bug 1038811 - Push Notifications - ServiceWorker changes, push event implementation. r=nsm 2015-04-10 20:19:28 -07:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Boris Zbarsky
dc24477d79 Bug 1117172 part 3. Change the wrappercached WrapObject methods to allow passing in aGivenProto. r=peterv
The only manual changes here are to BindingUtils.h, BindingUtils.cpp,
Codegen.py, Element.cpp, IDBFileRequest.cpp, IDBObjectStore.cpp,
dom/workers/Navigator.cpp, WorkerPrivate.cpp, DeviceStorageRequestChild.cpp,
Notification.cpp, nsGlobalWindow.cpp, MessagePort.cpp, nsJSEnvironment.cpp,
Sandbox.cpp, XPCConvert.cpp, ExportHelpers.cpp, and DataStoreService.cpp.  The
rest of this diff was generated by running the following commands:

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObjectInternal\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapNode\((?:aCx|cx|aContext|aCtx|js))\)/\1, aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(WrapObject\(JSContext *\* *(?:aCx|cx|aContext|aCtx|js))\)/\1, JS::Handle<JSObject*> aGivenProto)/g'

  find . -name "*.h" -o -name "*.cpp" | xargs perl -pi -e 'BEGIN { $/ = undef } s/(Binding(?:_workers)?::Wrap\((?:aCx|cx|aContext|aCtx|js), [^,)]+)\)/\1, aGivenProto)/g'
2015-03-19 10:13:33 -04:00
Nikhil Marathe
a817a419ab Bug 1131882 - Associate ServiceWorkers with underlying ServiceWorkerInfo. r=baku
This allows controller to track state too, and provides better encapsulation.
1) Move SW setup to SWM. RuntimeService now only creates the underlying SharedWorker.
2) Require a SWInfo to create a SW. The SW holds a refptr to the info.

--HG--
extra : rebase_source : d9de8a66a45f597d1613890691d1facae51eb64e
2015-02-19 08:40:21 -08:00
Daniel Holbert
425952916e Bug 1043701 followup: add missing #include to provide ServiceWorkerState enum. (no review, minor obviously-correct patch to fix local build bustage) 2015-01-26 10:31:38 -08:00
Nikhil Marathe
fbe18cf922 Bug 1043701 - Fire statechange event on ServiceWorker instances. r=baku
Folded:
Various registration related UpdateState() calls and abort on failure to create a service worker.
Set ServiceWorker instances state based on corresponding ServiceWorkerInfo state.

--HG--
extra : rebase_source : 43e519457c640b07f4358484b435aa1de581a668
2014-12-19 03:25:56 -08:00
Nikhil Marathe
076d17e308 Bug 1089778 - ServiceWorkerRegistration is keyed by scope for event dispatch and invalidation. r=baku
--HG--
extra : rebase_source : 012bcfa0aef20bc6b79e030cb7439f03799e9370
2014-10-27 11:52:57 -07:00
Ehsan Akhgari
9a5d3c336b Bug 1118428 - Mark virtual overridden functions as MOZ_OVERRIDE in dom/workers; r=baku 2015-01-06 16:35:26 -05:00
Nikhil Marathe
d32849655e Bug 1058043 - Patch 2 - StopListeningForEvents in ServiceWorkerRegistration destructor. r=baku
--HG--
extra : rebase_source : 224f28dcb1b9604916cbdd53bf4690ef32d71be9
2014-08-27 13:33:20 -07:00
Andrea Marchesini
77c2d8452a Bug 1058043 - ServiceWorkerRegistration should not keep a reference to the window, r=nsm 2014-08-26 09:17:36 +01:00
Andrea Marchesini
f4a5ca4d21 Bug 1056259 - ServiceWorkerRegistration should unregister itself when the window is destroyed. r=nsm 2014-08-20 13:30:00 -04:00
Andrea Marchesini
1355a04e72 Bug 1043004 - Update ServiceWorkerContainer API to spec. r=bkelly 2014-08-19 09:56:00 -04:00