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

1270 Коммитов

Автор SHA1 Сообщение Дата
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
Jonathan Watt aaa5cbde27 Bug 1177688, part 6 - Follow-up to provide a default BlobDirState::eUnknownIfDir arg to BlobImplBase's ctor to avoid excessively specifying the same argument. r=baku 2015-06-23 00:31:40 +01:00
Jonathan Watt 2cd9883d4c Bug 1177688, part 1 - Add API and functionality to the BlobImpl classes so that BlobImpl's that are created from an nsIFile can provide information about whether or not the nsIFile was a directory. r=baku 2015-06-23 00:31:28 +01:00
Martin Thomson 3f054841ce Bug 1176434 - Enabling indexedDB for content JS sandboxes, r=bent
--HG--
extra : commitid : DYgglyPMmSl
2015-07-02 13:30:15 -07:00
Ryan VanderMeulen 3da97f6aee Backed out changeset c725221a7c45 (bug 1179025) for Werror bustage.
CLOSED TREE
2015-07-02 14:22:28 -04:00