Commit Graph

1274 Commits

Author SHA1 Message Date
Reuben Morais
33dc3930e7 Bug 1204183 - Test the object_data upgrade from bug 1202788. r=janv 2015-09-12 12:51:21 -03: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
Kyle Huey
e53cd4fe95 Bug 1200004 - Fix IDB permission handling around navigated windows. r=baku 2015-09-08 10:11:36 +02:00
Shihua Zheng
8b824c5ed4 Bug 871846 - Tests for locale aware indexes. r=janv 2014-07-20 14:29:54 -07:00
Reuben Morais
5e1f2a6b18 Bug 871846 - Implement IDBLocaleAwareKeyRange. r=janv r=sicking 2015-09-04 16:12:52 -03: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
Reuben Morais
e493377d61 Bug 871846 - API changes for locale aware indexes. r=janv r=sicking 2015-09-04 16:12:29 -03:00
Reuben Morais
dd7ac5dc3c Bug 871846 - ICU usage and infrastructure bits. r=janv 2014-08-04 13:59:57 -07:00
Nicholas Nethercote
95676dc27c Bug 1200484 (part 10) - Use JS column numbers in indexedDB. r=khuey.
--HG--
extra : rebase_source : a7549e74d28e92911e014e152a245828f01291ad
2015-09-01 18:01:02 -07:00
Nicholas Nethercote
f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Michael Layzell
cd6e65d4d5 Bug 1147821 - Update IndexedDB to use common StorageAllowedForWindow logic, r=khuey 2015-08-28 10:10:30 -04:00
Yoshi Huang
e6070e9062 Bug 1165272 - Part 2: replace getNoAppCodebasePrincipal. r=bholley 2015-08-18 15:01:42 +08:00
Yoshi Huang
4347bb2318 Bug 1165272 - Part 1: remove getAppCodebasePrincipal. r=bholley 2015-08-17 17:03:19 +08:00
Kyle Huey
917ae4a9ce Bug 1196840: Make IDBTransaction::ObjectStoreNames const. r=baku 2015-08-25 13:30:18 -07:00
Bobby Holley
edfe287f26 Backed out 3 changesets (bug 1165272) for b2g sanity blocker. 2015-08-25 11:16:21 -07:00
Yoshi Huang
de47f4b89f Bug 1165272 - Part 2: Replace getNoAppCodebasePrincipal. r=bholley 2015-08-24 01:18:00 -04: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
Michael Layzell
e826e765e4 Bug 1165217 - Use nsIPrincipal instead of nsIURI/appId/inBrowser for nsIQuotaManager, r=janv 2015-08-18 20:24:30 -04: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
Jeff Walden
1b62a9d07b Bug 1158399 - Expose the [[DateValue]] field in Date objects only through a ClippedTime class that enforces prior TimeClip-ing on the given value. r=evilpie, r=bz, r=dhylands, r=mt, r=froydnj, r=khuey, r=baku, r=smaug
--HG--
extra : rebase_source : 803fe39f338b6b32cb0fe2be6cf4056bab57283a
2015-05-01 19:12:52 -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
82f329af94 Bug 1188117: Do not allow IDBCursor.delete while cursor update is in progress. r=baku 2015-07-28 15:59:55 -07: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
Brian Birtles
188b788e88 Bug 1182981 part 4 - Use nsTHashtable::Iterator in IDBDatabase; r=njn
--HG--
extra : commitid : AYXTBTdzFTR
2015-07-21 10:48:54 +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
Ryan VanderMeulen
5109d15769 Backed out changeset d29782c360fe (bug 1180978) for causing indexedDB assertions.
CLOSED TREE
2015-07-10 12:35:15 -04:00
Kyle Huey
c7a5521db6 Bug 1180978: Don't proceed with opening an invalidated database. r=janv,baku 2015-07-10 07:38:53 -07:00
Birunthan Mohanathas
5609390bdb Bug 1168606 - Part 2: Convert DelayedDeleteRunnable into reusable DelayedActionRunnable class. r=bent 2015-06-09 07:57:19 -07:00
Birunthan Mohanathas
d39c90fbcb Bug 1168606 - Part 1: Extract Cursor response data population into shared function. r=bent 2015-07-07 11:27:04 -07:00
Emanuel Hoogeveen
7d1e52f2ff Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Ryan VanderMeulen
b47de52156 Backed out changeset d6063656f171 (bug 1179025) for Werror bustage.
CLOSED TREE

--HG--
extra : rebase_source : 1145bb0bc348b09d14e9239a378ec35d1f474f8e
2015-07-06 14:00:58 -04:00
Ben Turner
dd5d843851 Bug 1179025 - Protect against using cursors on a deleted objectStore/index, r=janv. 2015-07-02 10:47:53 -07:00
Juan Gomez
258ad59e3f Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00