Commit Graph

1441 Commits

Author SHA1 Message Date
Mike Hommey
aada68ea09 Bug 1924664 - Fix Cargo.toml-related warnings from first-party crates. r=firefox-build-system-reviewers,necko-reviewers,profiler-reviewers,aabh,ahochheiden
The warnings are:

  no edition set: defaulting to the 2015 edition while the latest is 2021
  unused manifest key: lib.plugin

Differential Revision: https://phabricator.services.mozilla.com/D226855
2024-10-28 20:56:36 +00:00
Marco Bonardo
1b86f6b5be Bug 483318 - Implement binding arrays to mozIStorageStatementParams. r=asuth,lina,Standard8
Use `carray`` extension to bind array of numerics and strings, so we can
avoid large and slow IN clauses, and cache prepared statements having
a variable number of parameters.
The extension is statically loaded and available in every connection.
Consumers are encouraged to use the explicit `bindArrayXXX` methods, as
the generic `bindByIndex` and `bindByName` methods are too lenient,
especially from Javascript.
Note `carray`` only supports UTF8 encoded strings, the API will convert
the encoding when UTF16 is passed in.
These new variants are not exposed to Rust yet, as the existing comment
suggests they were intended for primitive types. It could be done in the
future, if necessary.

Differential Revision: https://phabricator.services.mozilla.com/D225334
2024-10-28 19:28:24 +00:00
serge-sans-paille
e54774d573 Bug 1922838 - Replace ArrayLength, ArrayEnd and MOZ_ARRAY_LENGTH by standard alternative r=glandium,necko-reviewers,jgilbert,application-update-reviewers,media-playback-reviewers,credential-management-reviewers,anti-tracking-reviewers,places-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,bytesized,janv,dimi,daisuke,karlt,gstoll,canaltinova,timhuang
Namely std::size, std::end and std::size. This drops C support for
MOZ_ARRAY_LENGTH but it wasn't used anyway.

Differential Revision: https://phabricator.services.mozilla.com/D224611
2024-10-28 08:21:19 +00:00
Alexandru Marc
191ccbe7fe Backed out changeset d92f391b3b0c (bug 1922838) for backing out bug 1915351 2024-10-25 16:42:33 +03:00
serge-sans-paille
53068cdf31 Bug 1922838 - Replace ArrayLength, ArrayEnd and MOZ_ARRAY_LENGTH by standard alternative r=glandium,necko-reviewers,jgilbert,application-update-reviewers,media-playback-reviewers,credential-management-reviewers,anti-tracking-reviewers,places-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,bytesized,janv,dimi,daisuke,karlt,gstoll,canaltinova,timhuang
Namely std::size, std::end and std::size. This drops C support for
MOZ_ARRAY_LENGTH but it wasn't used anyway.

Differential Revision: https://phabricator.services.mozilla.com/D224611
2024-10-24 09:06:01 +00:00
Alexandru Marc
83543f20f2 Backed out changeset 448597bce69d (bug 1922838) for causing build bustages. CLOSED TREE 2024-10-24 11:37:49 +03:00
serge-sans-paille
c7a369b29a Bug 1922838 - Replace ArrayLength, ArrayEnd and MOZ_ARRAY_LENGTH by standard alternative r=glandium,necko-reviewers,jgilbert,application-update-reviewers,media-playback-reviewers,credential-management-reviewers,anti-tracking-reviewers,places-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,bytesized,janv,dimi,daisuke,karlt,gstoll,canaltinova,timhuang
Namely std::size, std::end and std::size. This drops C support for
MOZ_ARRAY_LENGTH but it wasn't used anyway.

Differential Revision: https://phabricator.services.mozilla.com/D224611
2024-10-24 07:38:30 +00:00
Adi
e3cca2b9b7 Backed out 3 changesets (bug 1594368, bug 483318) for causing multiple failures. CLOSED TREE
Backed out changeset 6107713f0780 (bug 1594368)
Backed out changeset d23ddf67f8a4 (bug 483318)
Backed out changeset 507b979e3c93 (bug 483318)
2024-10-23 16:51:45 +03:00
Marco Bonardo
f157dea732 Bug 483318 - Implement binding arrays to mozIStorageStatementParams. r=asuth,lina,Standard8
Use `carray`` extension to bind array of numerics and strings, so we can
avoid large and slow IN clauses, and cache prepared statements having
a variable number of parameters.
The extension is statically loaded and available in every connection.
Consumers are encouraged to use the explicit `bindArrayXXX` methods, as
the generic `bindByIndex` and `bindByName` methods are too lenient,
especially from Javascript.
Note `carray`` only supports UTF8 encoded strings, the API will convert
the encoding when UTF16 is passed in.
These new variants are not exposed to Rust yet, as the existing comment
suggests they were intended for primitive types. It could be done in the
future, if necessary.

Differential Revision: https://phabricator.services.mozilla.com/D225334
2024-10-23 12:42:50 +00:00
Oliver Old
98599e718f Bug 1776893 - Replace do_CreateInstance for nsIFile with NS_NewLocalFile. r=xpcom-reviewers,profiler-reviewers,emilio,aabh
Differential Revision: https://phabricator.services.mozilla.com/D226255
2024-10-22 09:45:32 +00:00
Marco Bonardo
d1da59392b Bug 1914723 - Remove no longer necessary proxy release for Storage variants. r=asuth
`mParamsArray` doesn't need to be released on the main-thread as it doesn't
contain anymore instances of XPCVariant. The variants used are derived from
thread-safe Storage Variant_base.

Differential Revision: https://phabricator.services.mozilla.com/D220100
2024-09-02 16:57:55 +00:00
Marco Bonardo
17fe003bd9 Bug 1617964 - Update references from Toolkit:Storage to the new Core module, correct governance info, introduce placeholder docs. r=lina,zeid
Differential Revision: https://phabricator.services.mozilla.com/D219968
2024-08-24 08:50:25 +00:00
Florian Quèze
2570fc86fe Bug 1913624 - Remove expired telemetry histogram THREAD_WAKEUP, r=TravisLong.
Depends on D219460

Differential Revision: https://phabricator.services.mozilla.com/D219461
2024-08-20 20:56:45 +00:00
Niklas Baumgardner
ff11598bbd Bug 1900093 - Add OPEN_NOT_EXCLUSIVE option for opening sqlite database. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D212466
2024-06-12 00:17:58 +00:00
Florian Quèze
f910267fcf Bug 1842682 - Remove unused ChromeUtils.requestIOActivity and IOActivityMonitor, r=necko-reviewers,valentin.
Differential Revision: https://phabricator.services.mozilla.com/D210680
2024-05-17 14:03:21 +00:00
Emilio Cobos Álvarez
8aaf44fea9 Bug 1893683 - Remove ns{A,C}String and other xpcom dependencies from nsStringBuffer. r=smaug,media-playback-reviewers,karlt
* nsStringBuffer::FromString -> nsTSubString::GetStringBuffer
 * nsStringBuffer::ToString -> nsTSubString::Assign(nsStringBuffer*, len)
 * Move refcounting inline but refcount-logging and other XPCOM-related
   things out-of-line.

Differential Revision: https://phabricator.services.mozilla.com/D208771
2024-05-09 08:34:35 +00:00
Jari Jalkanen
5fc7e3f469 Bug 1894261 - Protect concurrent access to connection interrupt test variables. r=dom-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D209256
2024-05-07 18:49:27 +00:00
Jari Jalkanen
95545ed3ab Bug 1894261 - Enable SynchronousConnectionInterruptionTest for TSAN. r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D209373
2024-05-07 18:49:27 +00:00
Ryan VanderMeulen
0e07c8c08e Bug 1806946 - Skip GTests which fail when run under TSAN. r=profiler-reviewers,dom-storage-reviewers,tnikkel,xpcom-reviewers,ipc-reviewers,mccr8,janv,webrtc-reviewers,pehrsons,canaltinova
Differential Revision: https://phabricator.services.mozilla.com/D209175
2024-05-02 13:09:07 +00:00
Mike Conley
8b8218c610 Bug 1891141 - Add configuration parameters for pages per step and step delay to mozIStorageAsyncConnection.backupToFileAsync. r=mak
This also fixes a bug in the test_connection_online_backup.js test which wasn't
properly evaluating that the page_size PRAGMA was being copied properly.

Differential Revision: https://phabricator.services.mozilla.com/D207471
2024-04-17 20:50:47 +00:00
Emilio Cobos Álvarez
e4ddf24147 Bug 1887719 - More consistently use UTF8String/nsCString for URLs. r=necko-reviewers,webidl,anti-tracking-reviewers,places-reviewers,jari,kershaw,janv,smaug,hsivonen
Sorry for the massive patch but I found it hard to split without
introducing a bunch of copies around...

This mostly makes necko and DOM agree on which strings to use, which
should result on less copies and conversions.

Differential Revision: https://phabricator.services.mozilla.com/D205601
2024-04-04 11:49:57 +00:00
abhishekmadan30
6118a3b4b6 Bug 1884941 - Add an option to URLParams::Parse() for if it should decode the parameters or not. r=anti-tracking-reviewers,necko-reviewers,valentin,timhuang.
Differential Revision: https://phabricator.services.mozilla.com/D204914
2024-03-28 18:02:16 +00:00
Iulian Moraru
93ed708a97 Backed out 3 changesets (bug 1877419, bug 1884941) for causing non unified build bustages on URLQueryStringStripper.cpp. CLOSED TREE
Backed out changeset 53db0be27620 (bug 1877419)
Backed out changeset b7fab4b145f7 (bug 1877419)
Backed out changeset 78436da20d95 (bug 1884941)
2024-03-26 19:37:45 +02:00
abhishekmadan30
6053848bf6 Bug 1884941 - Add an option to URLParams::Parse() for if it should decode the parameters or not. r=anti-tracking-reviewers,necko-reviewers,valentin,timhuang.
Differential Revision: https://phabricator.services.mozilla.com/D204914
2024-03-26 14:42:07 +00:00
Noemi Erli
18b56b463a Backed out 3 changesets (bug 1884941, bug 1877419) for causing bustage in URLQueryStringStripper.cpp CLOSED TREE
Backed out changeset 32c74a4cd05b (bug 1877419)
Backed out changeset c2ca2f596c09 (bug 1877419)
Backed out changeset 45931e6db21e (bug 1884941)
2024-03-25 21:50:27 +02:00
abhishekmadan30
c4a54c7864 Bug 1884941 - Add an option to URLParams::Parse() for if it should decode the parameters or not. r=anti-tracking-reviewers,necko-reviewers,valentin,timhuang.
Differential Revision: https://phabricator.services.mozilla.com/D204914
2024-03-25 18:30:38 +00:00
Marco Bonardo
5a15e88f6a Bug 1884308 - Chunk bookmark GUIDs when retrieving details to avoid going over Sqlite variables limit. r=mconley,places-reviewers,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D204660
2024-03-15 16:18:00 +00:00
Gabriele Svelto
aa43fa218e Bug 1831092 - Use the new pull-based API for all crash annotations and remove the global annotations table r=jgilbert,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,padenot,handyman,afranchuk,valentin,alwu,sotaro
This changes comes with several different refactorings all rolled into one,
unfotunately I couldn't find a way to pull them apart:
- First of all annotations now can either recorded (that is, we copy the value
  and have the crash reporting code own the copy) or registered. Several
  annotations are changed to use this functionality so that we don't need to
  update them as their value change.
- The code in the exception handler is modified to read the annotations from
  the mozannotation_client crate. This has the unfortunate side-effect that
  we need three different bits of code to serialize them: one for annotations
  read from a child process, one for reading annotations from the main process
  outside of the exception handler and one for reading annotations from the
  main process within the exception handler. As we move to fully
  out-of-process crash reporting the last two methods will go away.
- The mozannotation_client crate now doesn't record annotation types anymore.
  I realized as I was working on this that storing types at runtime has two
  issues: the first one is that buggy code might change the type of an
  annotation (that is record it under two different types at two different
  moments), the second issue is that types might become corrupt during a
  crash, so better enforce them at annotation-writing time. The end result is
  that the mozannotation_* crates now only store byte buffers, track the
  format the data is stored in (null-terminated string, fixed size buffer,
  etc...) but not the type of data each annotation is supposed to contain.
- Which brings us to the next change: concrete types for annotations are now
  enforced when they're written out. If an annotation doesn't match the
  expected type it's skipped. Storing an annotation with the wrong type will
  also trigger an assertion in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D195248
2024-03-04 10:24:43 +00:00
Dave Townsend
bd175a2d84 Bug 1864896: Autofix unused function arguments (storage). r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D202988
2024-03-01 23:43:54 +00:00
Mike Conley
4259a99082 Bug 1869060 - Add SQLite Online Backup API support via mozIStorageAsyncConnection. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D195934
2024-01-22 14:26:53 +00:00
Mike Conley
f893e12aea Bug 1869060 - Move old backupDatabaseFile utility out from mozIStorageService to a Places helper. r=mak,places-reviewers
This utility copies an SQLite database, but does so just by performing a file
copy on the database itself. It assumes that there are no open connections on
the underlying database file.

Given that this is only used by Places, and that a later patch in this stack
adds a database backup utility that works even if there are open connections,
means we can move this old utility out form the mozIStorageService and into
a dedicated Places helper instead.

Differential Revision: https://phabricator.services.mozilla.com/D198309
2024-01-22 14:26:52 +00:00
Tomislav Jovanovic
11996c6f38 Bug 1871991 - Required arguments after optional are not supported r=jesup
I reviewed all js callsites, and they always use all arguments,
so this should  be no-op.

Differential Revision: https://phabricator.services.mozilla.com/D197300
2024-01-04 02:06:08 +00:00
Joel Maher
81afbdce9a Bug 1859896 - Batch 16 - convert xpcshell.ini -> .toml. r=aryx,webdriver-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D194383
2023-11-25 21:08:44 +00:00
Marco Bonardo
497899ec5d Bug 1855455 - Implement a loadExtension() API in mozStorage. r=asuth
The API can only load from a predetermined list of extensions statically built
in the same library as SQLite (either nss3 or mozsqlite3 at this time).
New extensions must be audited and their code updated through the update.sh
script.
All the extensions should be compilable and usable across all the tier1
platforms and from Rusqlite.

Differential Revision: https://phabricator.services.mozilla.com/D191316
2023-11-21 08:34:35 +00:00
Marco Bonardo
b3b546b288 Bug 1855455 - Vendor SQLite and FTS5 as a run-time loadable extension. r=asuth,glandium
Move SQLite updates to the `mach vendor` system to simplify updates.
This will have to be invoked manually through `./mach vendor`, as updatebot
is not hooked up yet (tracking new versions through Github tags is not reliable).

Build FTS5 statically in the same library as SQLite, but as a run-time
loadable extension.
Other extensions will similarly be added in the future, consumers can then use
mozStorage `loadExtension()` or Rusqlite `load_extension()` to load them.
FTS5 is used as a first example and for unit tests. While it could be enabled
statically, we prefer to have it on-demand and per connection.

Differential Revision: https://phabricator.services.mozilla.com/D191314
2023-11-21 08:34:34 +00:00
Butkovits Atila
5ac3149a96 Backed out changeset dafb434a3dd2 (bug 1855455) for causing build bustages. CLOSED TREE 2023-11-21 10:28:13 +02:00
Marco Bonardo
1ba9c659c7 Bug 1855455 - Vendor SQLite and FTS5 as a run-time loadable extension. r=asuth,glandium
Move SQLite updates to the `mach vendor` system to simplify updates.
This will have to be invoked manually through `./mach vendor`, as updatebot
is not hooked up yet (tracking new versions through Github tags is not reliable).

Build FTS5 statically in the same library as SQLite, but as a run-time
loadable extension.
Other extensions will similarly be added in the future, consumers can then use
mozStorage `loadExtension()` or Rusqlite `load_extension()` to load them.
FTS5 is used as a first example and for unit tests. While it could be enabled
statically, we prefer to have it on-demand and per connection.

Differential Revision: https://phabricator.services.mozilla.com/D191314
2023-11-21 08:08:44 +00:00
Patryk Gruszka
1239337577 Bug 1862507 - mozStorageSQLFunctions.cpp: do not use 'else' after 'return'. r=sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D193493
2023-11-16 08:19:48 +00:00
Sandor Molnar
ec89f35c95 Backed out 3 changesets (bug 1855455) for causing build bustages at third_party/sqlite3/src/version
Backed out changeset 0a5cdc279edd (bug 1855455)
Backed out changeset f43c32558446 (bug 1855455)
Backed out changeset bda7a6ca45db (bug 1855455)
2023-11-15 19:17:16 +02:00
Marco Bonardo
94ef632ae2 Bug 1855455 - Implement a loadExtension() API in mozStorage. r=asuth
The API can only load from a predetermined list of extensions statically built
in the same library as SQLite (either nss3 or mozsqlite3 at this time).
New extensions must be audited and their code updated through the update.sh
script.
All the extensions should be compilable and usable across all the tier1
platforms and from Rusqlite.

Differential Revision: https://phabricator.services.mozilla.com/D191316
2023-11-15 10:52:50 +00:00
Marco Bonardo
7ddc1e299a Bug 1855455 - Vendor SQLite and FTS5 as a run-time loadable extension. r=asuth,glandium
Move SQLite updates to the `mach vendor` system to simplify updates.
This will have to be invoked manually through `./mach vendor`, as updatebot
is not hooked up yet (tracking new versions through Github tags is not reliable).

Build FTS5 statically in the same library as SQLite, but as a run-time
loadable extension.
Other extensions will similarly be added in the future, consumers can then use
mozStorage `loadExtension()` or Rusqlite `load_extension()` to load them.
FTS5 is used as a first example and for unit tests. While it could be enabled
statically, we prefer to have it on-demand and per connection.

Differential Revision: https://phabricator.services.mozilla.com/D191314
2023-11-15 10:52:49 +00:00
Sylvestre Ledru
1e776756dd Bug 1856795 - ride along: use = default; on some recently modified files r=emilio
More on:
https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-equals-default.html

Command:
L=$(hg export -r tip|grep +++|cut -d/ -f2-)
./mach static-analysis check --checks="-*, modernize-use-equals-default" --fix $L

Differential Revision: https://phabricator.services.mozilla.com/D191016
2023-10-15 15:29:03 +00:00
Sylvestre Ledru
d0f6c7fc66 Bug 1856795 - Remove redundant member init r=emilio
Done with:
./mach static-analysis check --checks="-*, readability-redundant-member-init" --fix .

https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-member-init.html

Differential Revision: https://phabricator.services.mozilla.com/D190002
2023-10-15 15:29:02 +00:00
Cristina Horotan
6a90f5eded Backed out 2 changesets (bug 1856795) for causing build bustage at BasicEvents.h CLOSED TREE
Backed out changeset 1d98b028923a (bug 1856795)
Backed out changeset eae2ac93e17c (bug 1856795)
2023-10-14 21:42:14 +03:00
Sylvestre Ledru
c164bd9937 Bug 1856795 - ride along: use = default; on some recently modified files r=emilio
More on:
https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-equals-default.html

Command:
L=$(hg export -r tip|grep +++|cut -d/ -f2-)
./mach static-analysis check --checks="-*, modernize-use-equals-default" --fix $L

Differential Revision: https://phabricator.services.mozilla.com/D191016
2023-10-14 17:34:27 +00:00
Sylvestre Ledru
cc8a0ee742 Bug 1856795 - Remove redundant member init r=emilio
Done with:
./mach static-analysis check --checks="-*, readability-redundant-member-init" --fix .

https://clang.llvm.org/extra/clang-tidy/checks/readability/redundant-member-init.html

Differential Revision: https://phabricator.services.mozilla.com/D190002
2023-10-14 17:34:26 +00:00
Marco Bonardo
30115fd206 Bug 1855448 - Cleanup: remove non necessary SQLITE_MAX_LIKE_PATTERN_LENGTH define. r=asuth
Depends on D189392

Differential Revision: https://phabricator.services.mozilla.com/D189393
2023-09-28 11:41:47 +00:00
Marco Bonardo
69b45023f2 Bug 1855448 - Enable Sqlite FTS3 extension only for Thunderbird and Seamonkey. r=asuth,mkmelin
Differential Revision: https://phabricator.services.mozilla.com/D189392
2023-09-28 11:41:47 +00:00
hsingh
b2cc4c68f4 Bug 1843229: Created header files to declare external functions in BaseVFS.cpp, QuotaVFS.cpp and ObfuscatingVFS.cpp.r=janv,dom-storage-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D187992
2023-09-26 14:51:38 +00:00
hsingh
e941d3eb16 Bug 1843229: Fixing wrong cast.r=janv,dom-storage-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D187283
2023-09-26 14:51:38 +00:00