Граф коммитов

194 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 39043b2d44 Bug 1187116 (part 6) - Replace nsBaseHashtable::EnumerateRead() calls in dom/indexedDB/ with iterators. r=khuey. 2015-11-18 21:04:22 -08:00
Nicholas Nethercote bb8aa825e5 Bug 1187116 (part 5) - Replace nsBaseHashtable::EnumerateRead() calls in dom/indexedDB/ with iterators. r=khuey. 2015-11-18 21:04:10 -08:00
Jan Varga 01bc2fb8bb Bug 961049 - Part 9: Fix asynchronous deletion of files to work on PBackground; r=baku 2015-11-22 10:44:43 +01:00
Jan Varga 736e2d562c Bug 961049 - Part 8: Move getFileReferences() from PContent under new protocol PBackgroundIndexedDBUtils; r=baku 2015-11-22 10:44:33 +01:00
Jan Varga e52ccb9b1e Bug 961049 - Part 7: QuotaManager on PBackground indexedDB changes; r=baku 2015-11-22 10:44:24 +01:00
Jan Varga 80e3425247 Bug 961049 - Part 2: Remove Utilities.h; r=baku 2015-11-22 10:43:23 +01:00
Nicholas Nethercote 3de6145563 Bug 1187116 (part 4) - Replace nsBaseHashtable::EnumerateRead() calls in dom/indexedDB/ with iterators. r=khuey.
--HG--
extra : rebase_source : ecedfe01df7931b83b7e9886c39901d543727749
2015-11-01 21:47:23 -08:00
Nicholas Nethercote 4f80b46a1b Bug 1187116 (part 3) - Replace nsBaseHashtable::EnumerateRead() calls in dom/indexedDB/ with iterators. r=khuey.
--HG--
extra : rebase_source : e97f1b776de07c7a84abaa9ec88de3d34d2f8ad1
2015-11-01 21:46:47 -08:00
Nicholas Nethercote d497526369 Bug 1187116 (part 2) - Replace nsBaseHashtable::EnumerateRead() calls in dom/indexedDB/ with iterators. r=khuey.
--HG--
extra : rebase_source : 0796707bdb84db9cafcc824b6f38f8bc63ae616b
2015-11-01 21:46:29 -08:00
Nicholas Nethercote ce68f45883 Bug 1187116 (part 1) - Replace nsBaseHashtable::EnumerateRead() calls in dom/indexedDB/ with iterators. r=khuey.
--HG--
extra : rebase_source : a7b8a1b76ffbb31a38a5082b06aa6457a4151cfd
2015-11-01 21:45:14 -08:00
Birunthan Mohanathas 9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Nathan Froyd 69382a523a Bug 1216964 - remove nsAutoArrayPtr use from ActorsParent; r=khuey
We could have just replaced it directly with UniquePtr, but it seemed
just as easy to use UniqueFreePtr and adapt the code to use
AdoptingBlobVariant, which was apparently added after the XXX comment.
2015-10-20 14:24:29 -04:00
Jan Varga 1df1276418 Bug 1203803 - Remove forced cleanup from FactoryOp::ActorDestroy() since it cause more harm than good; r=khuey 2015-10-22 08:38:06 +02: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
Nathan Froyd fe57e31ffe Bug 1212027 - part 7 - modify IPDL codegen to store sub-protocols in a hashtable rather than an array; r=jld,nical,cpearce,billm 2015-10-07 14:30:33 -04:00
Jan Varga e34c9c269d Bug 1203803 - Fix "Intermittent Assertion failure: IsOnBackgroundThread()" a=sheriffduty 2015-10-10 02:57:00 +02:00
Carsten "Tomcat" Book 15df2c2f4b Backed out changeset 2387ada86428 (bug 1203803) for landing with negative review and causing assertions 2015-10-14 14:29:37 +02:00
Jan Varga 77ae4508cb Bug 1203803: Force cleanup for specific states only; r=khuey a=CLOSED TREE 2015-10-13 10:19:43 -07:00
Nick Fitzgerald f3032c8c01 Bug 1201620 - Make SavedFrame stacks structured cloneable; r=sfink 2015-10-12 13:29:48 -07:00
Jan Varga d7ad4e8aba Followup build fix for bug 1185223; r=buildbustage 2015-10-10 10:16:31 +02:00
Jan Varga 90b70db80f Bug 1185223 - crash at [@ mozilla::dom::quota::QuotaObject::Release() ]; r=khuey 2015-10-10 09:28:09 +02:00
Jason Orendorff deb2270515 Bug 1054756, part 5 - Remove Class::convert.
--HG--
extra : commitid : 6KCxWrCseSZ
extra : rebase_source : 63f3cd6ec1ade43c732ffd9b661fe6f2dca9eb4b
2015-03-20 16:28:59 -05:00
Wes Kocher b19d88b060 Backed out 7 changesets (bug 1206168, bug 1177318, bug 1054756) for hazard build failures CLOSED TREE
Backed out changeset e892727a373a (bug 1206168)
Backed out changeset 6c93d1044b7e (bug 1054756)
Backed out changeset 105433ce195b (bug 1054756)
Backed out changeset 13128a88f2b9 (bug 1054756)
Backed out changeset c250abf4fd17 (bug 1054756)
Backed out changeset fc9fef646a97 (bug 1054756)
Backed out changeset c8897f109a08 (bug 1177318)
2015-09-23 12:31:19 -07:00
Jason Orendorff 54e92d9beb Bug 1054756, part 5 - Remove Class::convert.
--HG--
extra : commitid : KrjkP1flM3c
extra : rebase_source : 8c367e3158528e92ac8ebc51521d32472f1e5bb1
2015-03-20 16:28:59 -05:00
Reuben Morais e3e708534a Bug 1202788 - Upgrade object_data table to new format (follow-up to bug 871846). r=janv 2015-09-11 12:12:52 -03:00
Jan Varga 7d81dbbfad Bug 1068975 - Remove FileInfo from File; r=baku 2015-09-09 13:15:14 +02:00
Jan Varga 2a061d3c3b Bug 771288 - Multiprocess FileHandle support (FileHandle on PBackground); r=baku
--HG--
rename : dom/filehandle/FileHandle.cpp => dom/filehandle/FileHandleBase.cpp
rename : dom/filehandle/FileHandle.h => dom/filehandle/FileHandleBase.h
rename : dom/filehandle/FileRequest.h => dom/filehandle/FileRequestBase.h
rename : dom/filehandle/MutableFile.cpp => dom/filehandle/MutableFileBase.cpp
rename : dom/filehandle/MutableFile.h => dom/filehandle/MutableFileBase.h
2015-09-09 13:15:05 +02:00
Reuben Morais 9a1f803114 Bug 871846 - Handle locale aware indexes. r=janv 2015-09-04 16:12:44 -03:00
Reuben Morais 0e18f3afbd Bug 871846 - Database changes for locale aware indexes. r=janv 2015-09-04 16:12:37 -03:00
Yoshi Huang 4347bb2318 Bug 1165272 - Part 1: remove getAppCodebasePrincipal. r=bholley 2015-08-17 17:03:19 +08:00
Bobby Holley edfe287f26 Backed out 3 changesets (bug 1165272) for b2g sanity blocker. 2015-08-25 11:16:21 -07:00
Yoshi Huang 12efacfa8c Bug 1165272 - Part 1: Remove getAppCodebasePrincipal. r=bholley 2015-08-24 01:31:00 -04:00
Birunthan Mohanathas 258615a1ba Bug 1168606 - Part 5: Send two records with every ObjectStoreCursorResponse. r=khuey 2015-08-19 14:59:29 -07:00
Birunthan Mohanathas ee9767e694 Bug 1168606 - Part 4: Allow current key to be provided with PBackgroundIDBCursor::Continue. r=khuey
The key is assumed to be unset for now.
2015-08-19 14:59:28 -07:00
Birunthan Mohanathas 0464f60bc0 Bug 1168606 - Part 3: Allow multiple ObjectStoreCursorResponses in a CursorResponse. r=khuey
For now, we assume that the array only ever contains a single response.
2015-08-19 14:59:25 -07:00
Birunthan Mohanathas a727c82e51 Bug 1192023 - Make UpdateType an enum class. r=khuey 2015-08-06 14:34:39 -07:00
Birunthan Mohanathas 752bf80bb4 Bug 1192023 - Use enum class instead of CheckpointMode_ prefix. r=khuey 2015-08-06 14:34:35 -07:00
Birunthan Mohanathas 69151f6831 Bug 1192023 - Flatten away AppId enum. r=khuey 2015-08-06 14:34:33 -07:00
Birunthan Mohanathas e95e1e7d13 Bug 1192023 - Use enum class instead of MaintenanceAction_ prefix. r=khuey 2015-08-06 14:34:29 -07:00
Birunthan Mohanathas 9f71a11dba Bug 1192023 - Use enum class instead of State_ prefix. r=khuey 2015-08-06 14:34:27 -07:00
Kyle Huey 76e3009ab8 Bug 1179909: Refactor stable state handling. r=smaug
This is motivated by three separate but related problems:

1. Our concept of recursion depth is broken for things that run from AfterProcessNextEvent observers (e.g. Promises). We decrement the recursionDepth counter before firing observers, so a Promise callback running at the lowest event loop depth has a recursion depth of 0 (whereas a regular nsIRunnable would be 1). This is a problem because it's impossible to distinguish a Promise running after a sync XHR's onreadystatechange handler from a top-level event (since the former runs with depth 2 - 1 = 1, and the latter runs with just 1).

2. The nsIThreadObserver mechanism that is used by a lot of code to run "after" the current event is a poor fit for anything that runs script. First, the order the observers fire in is the order they were added, not anything fixed by spec. Additionally, running script can cause the event loop to spin, which is a big source of pain here (bholley has some nasty bug caused by this).

3. We run Promises from different points in the code for workers and main thread. The latter runs from XPConnect's nsIThreadObserver callbacks, while the former runs from a hardcoded call to run Promises in the worker event loop. What workers do is particularly problematic because it means we can't get the right recursion depth no matter what we do to nsThread.

The solve this, this patch does the following:

1. Consolidate some handling of microtasks and all handling of stable state from appshell and WorkerPrivate into CycleCollectedJSRuntime.
2. Make the recursionDepth counter only available to CycleCollectedJSRuntime (and its consumers) and remove it from the nsIThreadInternal and nsIThreadObserver APIs.
3. Adjust the recursionDepth counter so that microtasks run with the recursionDepth of the task they are associated with.
4. Introduce the concept of metastable state to replace appshell's RunBeforeNextEvent. Metastable state is reached after every microtask or task is completed. This provides the semantics that bent and I want for IndexedDB, where transactions autocommit at the end of a microtask and do not "spill" from one microtask into a subsequent microtask. This differs from appshell's RunBeforeNextEvent in two ways:
a) It fires between microtasks, which was the motivation for starting this.
b) It no longer ensures that we're at the same event loop depth in the native event queue. bent decided we don't care about this.
5. Reorder stable state to happen after microtasks such as Promises, per HTML. Right now we call the regular thread observers, including appshell, before the main thread observer (XPConnect), so stable state tasks happen before microtasks.
2015-08-11 06:10:46 -07:00
Reuben Morais 5066ffe155 Bug 1184667 - Remove some unnecessary const_casts from ActorsParent.cpp. r=janv 2015-08-05 15:25:14 -03:00
Kyle Huey 0c59dad482 Bug 1180978: Don't proceed with opening an invalidated database. r=janv,baku 2015-07-22 14:46:19 +08:00
Kyle Huey b030401bd9 Bug 1185836. Nuke warnings from orbit. r=me 2015-07-21 17:07:05 +08:00
Kyle Huey 15a5ec1edf Bug 1185836: Fix warnings r=me.
CLOSED TREE
2015-07-21 16:52:44 +08:00
Kyle Huey 5129adf6dd Bug 1185836: Replace several EnumerateRead calls with the new hashtable iterators. r=baku 2015-07-21 16:38:31 +08:00
Brian Birtles 966c333f8b Bug 1182981 part 3 - Use nsTHashtable::Iterator in ActorsParent; r=khuey
--HG--
extra : commitid : 11ASXiomEJ5
2015-07-21 14:46:32 +09:00
Kyle Huey c14ad0ee62 Bug 1184410: Track whether or not the transaction has been active on the connection thread. r=janv
Because StartTransactionOp is a TransactionDatabaseOperationBase, it is possible for it to never run DoDatabaseWork, if the transaction is invalidated before StartTransactionOp runs. In the case of a readwrite transaction, we'll never BeginWriteTransaction() on the connection.

CommitOp, on the other hand, is a DatabaseOperationBase. It doesn't check IsInvalidatedOnAnyThread before running, so it will try to commit the transaction and the assertions will fire because we never called BeginWriteTransaction.

Reworking the inheritance here, if possible, would be hard. Keeping track of the active state on both the background and connection threads is easy though, and we do this sort of thing all over dom/workers. So do that.

This should resolve several intermittent oranges where MOZ_ASSERT(!mInReadTransaction) fires upon committing a transaction.

CLOSED TREE
2015-07-16 10:34:49 -07:00
Ben Turner 6262017c4a Bug 1179025 - Protect against using cursors on a deleted objectStore/index, r=janv. 2015-07-02 10:47:53 -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