Commit graph

250 commits

Author SHA1 Message Date
Jari Jalkanen
e6f35530cb Bug 1735191 - Assert current transaction state is not invalid. r=smaug
Asserting invalid values identifies the missing state transition.

Differential Revision: https://phabricator.services.mozilla.com/D153761
2022-08-09 12:57:03 +00:00
Jan Varga
3fbb9a765a Bug 1777914 - IDBTransaction::AbortInternal doesn't send the abort message when needed; r=dom-storage-reviewers,jstutte
Transactions transition to the finished state in following cases:
1. No requests have been created and we are back at the event loop.
2. The last request has been finished.
3. A transaction has been explicitly aborted.
4. A transaction has been explicitly committed.

When a transaction is finished, we send either an abort or commit message to
the parent process.

Bug 1598164 introduced an active and inactive state, so the state can't be used
for determining if a request was created. However, this was initially
overlooked, so we ended up not sending the abort message in some cases which
led to intermittent failures.

The correct wasy to determine if the abort messages should be sent to the
parent process is to check mStarted flag only.

Differential Revision: https://phabricator.services.mozilla.com/D150937
2022-07-04 12:06:56 +00:00
Kagami Sascha Rosylight
38896528d7 Bug 1767989 - Apply readability-make-member-function-const on dom/indexedDB r=dom-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D145624
2022-05-05 18:11:55 +00:00
Jari Jalkanen
a60d89964e Bug 1708705 - Handle transaction abort during value clone. r=dom-storage-reviewers,jstutte
Differential Revision: https://phabricator.services.mozilla.com/D125509
2022-01-26 09:18:24 +00:00
Nika Layzell
09d88e5fd2 Bug 1749059 - Remove Quantum DOM support from IPDL, r=ipc-reviewers,mccr8
This is no longer necessary as the Quantum DOM project is no longer
happening, and removing support simplifies various components inside of
IPDL.

As some code used the support to get a `nsISerialEventTarget` for an
actor's worker thread, that method was replaced with a method which
instead pulls the nsISerialEventTarget from the MessageChannel and
should work on all actors.

Differential Revision: https://phabricator.services.mozilla.com/D135411
2022-01-25 20:29:46 +00:00
Jens Stutte
ab7030d6e5 Bug 1735191: Transition IDBTransaction to Finished state on actor abort and failed creation. r=dom-storage-reviewers,jari
Differential Revision: https://phabricator.services.mozilla.com/D135999
2022-01-15 10:12:45 +00:00
Peter Van der Beken
f206ae96e4 Bug 1712725 - Stop clearing JS things when calling mozilla::DropJSObjects. r=mccr8
There's a pattern of clearing JS things when calling mozilla::DropJSObjects,
but mozilla::DropJSObjects already clears the JS things itself by calling
CycleCollectedJSRuntime::RemoveJSHolder.

Differential Revision: https://phabricator.services.mozilla.com/D115885
2021-05-27 08:35:40 +00:00
Simon Giesecke
b45e1e2a1a Bug 1682536 - Use references/NotNull with IDBCursor. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D99785
2021-01-21 11:58:29 +00:00
Sylvestre Ledru
fde06f6d21 Bug 1674637 - Use nested namespaces in dom/ r=sg,andi
Also add some missing namespace qualifications

Done with:
./mach static-analysis check --checks="-*,modernize-concat-nested-namespaces" --fix dom/
./mach clang-format -p $(hg status dom/|grep ^M|awk '{print $2}')

Differential Revision: https://phabricator.services.mozilla.com/D95456
2020-11-04 17:04:01 +00:00
Butkovits Atila
964cca3198 Backed out changeset c0adbf7522dc (bug 1674637) for bustage on GMPParent.cpp. CLOSED TREE 2020-11-04 10:54:36 +02:00
Sylvestre Ledru
5f29324f60 Bug 1674637 - Use nested namespaces in dom/ r=sg,andi
Also add some missing namespace qualifications

Done with:
./mach static-analysis check --checks="-*,modernize-concat-nested-namespaces" --fix dom/
./mach clang-format -p $(hg status dom/|grep ^M|awk '{print $2}')

Differential Revision: https://phabricator.services.mozilla.com/D95456
2020-11-04 08:29:00 +00:00
Simon Giesecke
68059713d9 Bug 1660816 - Make PBackgroundIDBCursor protocol refcounted. r=dom-workers-and-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D88143
2020-08-28 15:50:23 +00:00
Razvan Maries
1bebc65e70 Backed out 2 changesets (bug 1660800, bug 1660816) as per Simon's request. CLOSED TREE
Backed out changeset 55d2e05d2e0b (bug 1660800)
Backed out changeset 7b9687fb7d41 (bug 1660816)
2020-08-28 18:45:54 +03:00
Simon Giesecke
881d526f83 Bug 1660816 - Make PBackgroundIDBCursor protocol refcounted. r=dom-workers-and-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D88143
2020-08-28 14:43:51 +00:00
Simon Giesecke
b13b4d3deb Bug 1650076 - Clean up ThreadLocal. r=dom-workers-and-storage-reviewers,asuth
Move ThreadLocal to a separate header file.
Reuse LoggingIdString in ThreadLocal (and make use of nsAutoCStringN).

Differential Revision: https://phabricator.services.mozilla.com/D82018
2020-07-03 09:40:12 +00:00
Simon Giesecke
c49d17f0db Bug 1650076 - Fix bad printf format strings/argument lists. r=dom-workers-and-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D82016
2020-07-03 09:39:24 +00:00
Cosmin Sabou
a40ede8ab7 Backed out 4 changesets (bug 1650076) for build bustages on indexedDB/ProfilerHelpers.h. CLOSED TREE
Backed out changeset 42951b61e9dc (bug 1650076)
Backed out changeset 18b34fb0ddbd (bug 1650076)
Backed out changeset 1d378f2af866 (bug 1650076)
Backed out changeset 42df520d1cff (bug 1650076)
2020-07-03 11:49:58 +03:00
Simon Giesecke
4c5ca225c9 Bug 1650076 - Clean up ThreadLocal. r=dom-workers-and-storage-reviewers,asuth
Move ThreadLocal to a separate header file.
Reuse LoggingIdString in ThreadLocal (and make use of nsAutoCStringN).

Differential Revision: https://phabricator.services.mozilla.com/D82018
2020-07-03 08:08:27 +00:00
Simon Giesecke
85c8c0062e Bug 1648454 - Use NotNull with IDBRequest where applicable. r=dom-workers-and-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D81078
2020-07-01 20:14:23 +00:00
Simon Giesecke
ebbc7ae838 Bug 1642989 - Use RemoveLastElements instead of RemoveElementsAt where possible. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D78049
2020-06-08 08:50:15 +00:00
Simon Giesecke
ea023a9d8e Bug 1626570 - Improve handling of copying arrays in dom/indexedDB/. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D73650
2020-05-05 14:13:46 +00:00
Simon Giesecke
18c7f261c4 Bug 1623278 - Use SafeRefPtr for IDBTransaction. r=dom-workers-and-storage-reviewers,ttung,janv
Differential Revision: https://phabricator.services.mozilla.com/D67287
2020-04-21 14:32:51 +00:00
Simon Giesecke
963a76c6fc Bug 1619307 - Fixed assertion in IDBTransaction::Run. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D64984

--HG--
extra : moz-landing-system : lando
2020-03-04 13:10:54 +00:00
Simon Giesecke
92b7ccc53b Bug 1613340 - Remove const_cast relating to DatabaseSpec. r=dom-workers-and-storage-reviewers,edenchuang
Differential Revision: https://phabricator.services.mozilla.com/D61668

--HG--
extra : moz-landing-system : lando
2020-03-03 13:44:25 +00:00
Simon Giesecke
fff839290a Bug 1609957 - Fix race condition in determining the last request before commit. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D60642

--HG--
extra : moz-landing-system : lando
2020-02-27 10:05:48 +00:00
Eric Rahm
124379887c Bug 1617327 - Part 2: Remove nsAutoPtr usage from ipc, security, IDB. r=mccr8,janv
This removes `nsAutoPtr` usage from ipc/. security/ failed to build due to missing includes so I fixed that as well. IDB was using `ThreadLocal` from ipc which had a member changed to a `UniquePtr` so needed to be updated as well. localstorage was missing some includes.

Differential Revision: https://phabricator.services.mozilla.com/D63745

--HG--
extra : moz-landing-system : lando
2020-02-24 19:26:40 +00:00
Boris Zbarsky
b88d5ac5a8 Bug 1612213 part 1. Switch most consumers of ThrowDOMException to the new methods. r=smaug,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D61267

--HG--
extra : moz-landing-system : lando
2020-02-03 20:19:11 +00:00
Simon Giesecke
37b6637a59 Bug 1497007 - Replace CanAcceptRequests by the now equivalent IsActive. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D59834

--HG--
extra : moz-landing-system : lando
2020-01-17 12:47:09 +00:00
Simon Giesecke
2181db6537 Bug 1497007 - Implemented IDBTransaction.commit. r=dom-workers-and-storage-reviewers,ytausky
Differential Revision: https://phabricator.services.mozilla.com/D55673

--HG--
extra : moz-landing-system : lando
2020-01-17 12:47:17 +00:00
Simon Giesecke
0bcde245c0 Bug 1497007 - Fix state model, return to Inactive state after creation when returning to event loop. r=dom-workers-and-storage-reviewers,asuth
Also fix the behaviour of IDBTransaction::CanAcceptRequests, which, after the
new state model introduced along with the addition of IDBTransaction.commit to
the spec, should only depend on mReadyState. This makes the mCreated flag
redundant, which is removed by this patch.

Differential Revision: https://phabricator.services.mozilla.com/D59713

--HG--
extra : moz-landing-system : lando
2020-01-17 10:11:58 +00:00
Csoregi Natalia
8ee62c60e1 Backed out 3 changesets (bug 1497007) for assertion failures on IDBTransaction.cpp. CLOSED TREE
Backed out changeset 72bc4f39b659 (bug 1497007)
Backed out changeset 99fc4eedacc7 (bug 1497007)
Backed out changeset 787c340dd3d0 (bug 1497007)
2020-01-14 15:22:26 +02:00
Simon Giesecke
25cbe0ce57 Bug 1497007 - Implemented IDBTransaction.commit. r=dom-workers-and-storage-reviewers,ytausky
Differential Revision: https://phabricator.services.mozilla.com/D55673

--HG--
extra : moz-landing-system : lando
2020-01-14 11:14:29 +00:00
Simon Giesecke
378b2a112d Bug 1497007 - Fix state model, return to Inactive state after creation when returning to event loop. r=dom-workers-and-storage-reviewers,asuth
Also fix the behaviour of IDBTransaction::CanAcceptRequests, which, after the
new state model introduced along with the addition of IDBTransaction.commit to
the spec, should only depend on mReadyState. This makes the mCreated flag
redundant, which is removed by this patch.

Differential Revision: https://phabricator.services.mozilla.com/D59713

--HG--
extra : moz-landing-system : lando
2020-01-14 11:14:52 +00:00
Simon Giesecke
a5e45033f2 Bug 1600906 - Convert IDBCursor and BackgroundCursorChild to templates to increase type safety and reduce state. r=dom-workers-and-storage-reviewers,ytausky
This also simplifies delegating calls that are dependent on the cursor type.

Also reduce dependency on IDBCursor.h by moving enums and type traits to IDBCursorType.h

Differential Revision: https://phabricator.services.mozilla.com/D57993

--HG--
extra : moz-landing-system : lando
2020-01-10 15:23:52 +00:00
Csoregi Natalia
8c7b4f143a Backed out 3 changesets (bug 1600906) for bustage on StaticAnalysisFunctions.h. CLOSED TREE
Backed out changeset aae2faf1907c (bug 1600906)
Backed out changeset d61a65e2e4ac (bug 1600906)
Backed out changeset a114b9b8e6ea (bug 1600906)
2020-01-10 17:19:22 +02:00
Simon Giesecke
a48be584a9 Bug 1600906 - Convert IDBCursor and BackgroundCursorChild to templates to increase type safety and reduce state. r=dom-workers-and-storage-reviewers,ytausky
This also simplifies delegating calls that are dependent on the cursor type.

Also reduce dependency on IDBCursor.h by moving enums and type traits to IDBCursorType.h

Differential Revision: https://phabricator.services.mozilla.com/D57993

--HG--
extra : moz-landing-system : lando
2020-01-10 14:21:18 +00:00
Simon Giesecke
9f35b34d2d Bug 1600283 - Removed unused include directives. r=dom-workers-and-storage-reviewers,ytausky
Differential Revision: https://phabricator.services.mozilla.com/D55516

--HG--
extra : moz-landing-system : lando
2019-12-19 09:57:40 +00:00
Simon Giesecke
6033119f9a Bug 1497007 - Added IDBTransaction.commit method, with a minimal implementation. r=ttung,hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D46277

--HG--
extra : moz-landing-system : lando
2019-12-10 10:24:18 +00:00
Simon Giesecke
b727e2abc1 Bug 1598164 - Implement transaction inactive state according to spec. r=dom-workers-and-storage-reviewers,ytausky
Differential Revision: https://phabricator.services.mozilla.com/D55142

--HG--
extra : moz-landing-system : lando
2019-12-04 12:59:09 +00:00
Simon Giesecke
5e243f8d78 Bug 1598164 - Made some boolean flags in IDBTransaction FlippedOnce to reduce statefulness. r=dom-workers-and-storage-reviewers,ytausky
Differential Revision: https://phabricator.services.mozilla.com/D55081

--HG--
extra : moz-landing-system : lando
2019-12-03 15:32:18 +00:00
Simon Giesecke
6c42eb0661 Bug 1598164 - Remove uses of already_AddRefed. r=dom-workers-and-storage-reviewers,janv
Depends on D54322

Differential Revision: https://phabricator.services.mozilla.com/D55079

--HG--
extra : moz-landing-system : lando
2019-11-28 15:05:28 +00:00
Simon Giesecke
90427d7da3 Bug 1598164 - Align ReadyState with states defined in the spec. r=dom-workers-and-storage-reviewers,edenchuang
Differential Revision: https://phabricator.services.mozilla.com/D54322

--HG--
extra : moz-landing-system : lando
2019-11-28 16:00:29 +00:00
Simon Giesecke
9e2165d850 Bug 1598164 - Make use of std::copy_if/MakeBackInserter in IDBTransaction::AbortInternal. r=dom-workers-and-storage-reviewers,ytausky
Depends on D54322

Differential Revision: https://phabricator.services.mozilla.com/D54732

--HG--
extra : moz-landing-system : lando
2019-11-27 10:54:57 +00:00
Simon Giesecke
55a2f652bc Bug 1598164 - Use scoped enums in IDBTransaction. r=dom-workers-and-storage-reviewers,edenchuang
Differential Revision: https://phabricator.services.mozilla.com/D54321

--HG--
extra : moz-landing-system : lando
2019-11-27 10:54:57 +00:00
Simon Giesecke
49f97fef21 Bug 1497007 - Improve exception messages. r=ttung
Differential Revision: https://phabricator.services.mozilla.com/D52355

--HG--
extra : moz-landing-system : lando
2019-11-20 10:23:47 +00:00
Simon Giesecke
19128f8aae Bug 1497007 - Added explaining comments. r=ttung,asuth
Differential Revision: https://phabricator.services.mozilla.com/D47231

--HG--
extra : moz-landing-system : lando
2019-11-11 08:25:20 +00:00
Simon Giesecke
cdbb1aa771 Bug 1497007 - Extracted GetIndexedDBThreadLocal function. r=ttung,asuth
Differential Revision: https://phabricator.services.mozilla.com/D46949

--HG--
extra : moz-landing-system : lando
2019-11-11 08:25:05 +00:00
Simon Giesecke
bb8fe42e53 Bug 1497007 - Replace custom for loops by range-based for and appropriate algorithms. r=ttung,asuth
Differential Revision: https://phabricator.services.mozilla.com/D46948

--HG--
extra : moz-landing-system : lando
2019-11-11 08:24:53 +00:00
Simon Giesecke
2b36ecbd21 Bug 1497007 - Minor improvements. r=ttung,asuth
Differential Revision: https://phabricator.services.mozilla.com/D46947

--HG--
extra : moz-landing-system : lando
2019-11-11 08:24:45 +00:00
Simon Giesecke
cd8018b798 Bug 1497007 - Extracted HasTransactionChild and DoWithTransactionChild functions. r=ttung,asuth
Differential Revision: https://phabricator.services.mozilla.com/D46946

--HG--
extra : moz-landing-system : lando
2019-11-11 08:24:32 +00:00