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

1091 Коммитов

Автор SHA1 Сообщение Дата
Kris Maglione a75561bd62 Bug 1412726: Clean up XPCOM singleton constructor refcount handling. r=froydnj
This is a follow-up to bug 1409249. There are a lot of places where our
factory singleton constructors either don't correctly handle their returned
references being released by the component manager, or do handle it, but in
ways that are not obvious.

This patch handles a few places where we can sometimes wind up with dangling
singleton pointers, adds some explanatory comments and sanity check
assertions, and replaces some uses of manual refcounting with StaticRefPtr and
ClearOnShutdown.

There are still some places where we may wind up with odd behavior if the
first QI for a getService call fails. In those cases, we wind up destroying
the first instance of a service that we create, and re-creating a new one
later.

MozReview-Commit-ID: ANYndvd7aZx

--HG--
extra : rebase_source : acfb0611a028fef6b9387eb5d1d9e285782fbc7c
2017-10-29 16:02:40 -07:00
Florian Quèze 22c55eb7b7 Bug 1421992 - Hand written cleanup patch to make tests pass after removing obsolete xpcshell functions. r=Gijs,ochameau a=Aryx 2017-12-21 11:11:57 +01:00
Florian Quèze 0f55cd45be Bug 1421992 - script-generated patch to replace do_execute_soon, do_print and do_register_cleanup with executeSoon, info and registerCleanupFunction, rs=Gijs. 2017-12-21 11:10:23 +01:00
Florian Quèze 032c961e0a Bug 1421992 - script-generated patch to replace do_check_* functions with their Assert.* equivalents, rs=Gijs. 2017-12-21 11:08:17 +01:00
Kit Cambridge f4136db758 Bug 1423820 - Copy temp entities after reattaching databases to a cloned storage connection. r=mak
MozReview-Commit-ID: illWRvUv3Y

--HG--
extra : rebase_source : eb4538fd4dd0ca2429c341864b8b1b1f761612c6
2017-12-06 22:34:18 -08:00
Eric Rahm 6058ba50a3 Bug 1423798 - Remove headers included for backwards compat in nsString.h. r=njn on a CLOSED TREE
Remove the headers included for "backwards compatibility" and just include them
where required.

--HG--
extra : source : e2beba7e6875120ebbbcadf24bcbcb5b86411a94
extra : amend_source : 11f07a27431cd468511f0bd45afe36150c6e342c
2017-12-06 19:36:57 -08:00
Csoregi Natalia f488657fbd Backed out changeset e2beba7e6875 (bug 1423798) for failing Browser Chrome tests browser_temporary_permissions_expiry.js on Windows 7 debug. r=backout on a CLOSED TREE 2017-12-09 07:23:35 +02:00
Eric Rahm 74880b3483 Bug 1423798 - Remove headers included for backwards compat in nsString.h. r=njn
Remove the headers included for "backwards compatibility" and just include them
where required.

--HG--
extra : rebase_source : 03e703a81ed4b80f4f116ff36d8787464ce5acba
2017-12-06 19:36:57 -08:00
Eric Rahm 07c97a5afe Bug 1423773 - Part 1: Remove usage of nsStringGlue.h. r=glandium
This removes an unnecessary level of indirection by replacing all
nsStringGlue.h instances with just nsString.h.

--HG--
extra : rebase_source : 340989240af4018f3ebfd92826ae11b0cb46d019
2017-12-06 16:52:51 -08:00
Mark Banner 41c7322062 Bug 1421968 - Fix more instances of .getService to use Services.jsm where possible. r=mossop
MozReview-Commit-ID: 2EbsWq7VPrI

--HG--
extra : rebase_source : 4e751a74b641b99b01af0947bf2eeaafb3fe8c62
2017-11-30 12:04:16 +00:00
Kit Cambridge 4dbde1745b Bug 1422383 - Clone temporary tables, views, and triggers when cloning a storage connection. r=mak
MozReview-Commit-ID: HwVMvvn7cui

--HG--
extra : rebase_source : 5acd3a9a3edbb0b1b844a76b7210d7b260762667
2017-11-30 19:21:10 -08:00
Gabriele Svelto 4a5642e26f Bug 1402519 - Remove MOZ_CRASHREPORTER directives from storage; r=mak
MozReview-Commit-ID: HYpSWoJaEAm

--HG--
extra : rebase_source : 63f8a24c71a93ea14eb9c4f5411fb7f2ca12d661
2017-10-20 11:00:21 +02:00
shindli fb855aa7ba Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Gabriele Svelto cc490a241b Bug 1402519 - Remove MOZ_CRASHREPORTER directives from storage; r=mak
MozReview-Commit-ID: HYpSWoJaEAm

--HG--
extra : rebase_source : f8da906d5c9351cd6086ba697547dea68a3ad09e
2017-10-20 11:00:21 +02:00
Andrew Sutherland 7f0823b2e1 Bug 1413501 - Test for SpinningSynchronousClose unregisterConnection edge-case. r=mak
--HG--
extra : rebase_source : fd275beb962ece0fc85765abfe7d28e6b88e887a
extra : source : 16a37706634172c5f07d81a2086b800af92146de
2017-11-08 09:31:31 -08:00
Andrew Sutherland 1acb662626 Bug 1413501 - Fix for SpinningSynchronousClose unregisterConnection edge-case. r=mak
--HG--
extra : rebase_source : e7c6104e61a7d01c41f8566be86332a2e6c04da0
2017-11-08 10:11:27 -08:00
Andrew McCreight e93350bfee Bug 1414441 - Stop caching an XPConnect pointer in storage/. r=mak
Services.h has a built in cache now

MozReview-Commit-ID: 362qIrzf13F

--HG--
extra : rebase_source : f7fc218fc02d6ec6aa4b0d9479d2b972780389ec
2017-11-03 15:50:29 -07:00
Mark Banner 4de6bf22b1 Bug 1411368 - Automatically fix no-multi-spaces issues raised when using ESLint 4. r=mossop
MozReview-Commit-ID: H5YVp3rnzGo

--HG--
extra : rebase_source : 5b45b6c0df834131812d094e975047eaad374e06
2017-10-26 11:47:01 +01:00
Kris Maglione 257d9118dc Bug 1409249: Require singleton constructors to return explicit already_AddRefed. r=froydnj
Right now, NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR expects singleton
constructors to return already-addrefed raw pointers, and while it accepts
constructors that return already_AddRefed, most existing don't do so.

Meanwhile, the convention elsewhere is that a raw pointer return value is
owned by the callee, and that the caller needs to addref it if it wants to
keep its own reference to it.

The difference in convention makes it easy to leak (I've definitely caused
more than one shutdown leak this way), so it would be better if we required
the singleton getters to return an explicit already_AddRefed, which would
behave the same for all callers.


This also cleans up several singleton constructors that left a dangling
pointer to their singletons when their initialization methods failed, when
they released their references without clearing their global raw pointers.

MozReview-Commit-ID: 9peyG4pRYcr

--HG--
extra : rebase_source : 2f5bd89c17cb554541be38444672a827c1392f3f
2017-10-16 21:08:42 -07:00
Andrew Sutherland c7ad213382 Bug 1388998 - Drop final Connection reference after finishing guarded connection list mutation. r=mak
--HG--
extra : rebase_source : 1c87e01c114e50fd54f8bf93fc835bd0e58a2d68
2017-10-03 01:14:22 -04:00
Nicholas Nethercote 78030c0e7b Bug 1409598 - Change nsIXPCScriptable::className and nsIClassInfo::{contractID,classDescription} from string to AUTF8String. r=froydnj.
This lets us replace moz_xstrdup() of string literals with AssignLiteral(),
among other improvements.

--HG--
extra : rebase_source : 9994d8ccb4f196cf63564b0dac2ae6c4370defb4
2017-10-18 13:17:26 +11:00
Bob Owen d3d6027a4f Bug 1372823 Part 3: Annotate crash with database name when storage connection not closed. r=janv 2017-10-18 12:04:52 +01:00
Sebastian Hengst e6065804c9 Backed out changeset 0a5a34ef66d1 (bug 1388998) for mass test failures during shutdown. r=backout on a CLOSED TREE 2017-10-02 17:25:14 +02:00
Andrew Sutherland 5d2b4f7c18 Bug 1388998 - mozStorageService connection unregistering should defer final Release(). r=mak
NS_ProxyRelease will immediately release the provided reference if already on
the right thread unless aAlwaysRelease=true (the default is false).  We need to
set it to be true to avoid Close() and its potential to, out of desperation
when faced with misuse, spin a nested event loop.

--HG--
extra : rebase_source : 91c70a6fa081fdf20a8dfabf5d69bccbef1ba33c
2017-09-29 20:05:38 -04:00
Kai Engert 47d3b3ac0b Bug 730495, guarantee that sqlite3_config is called before any other SQLite function, r=asuth, r=froydnj, r=mak 2017-09-29 13:25:06 +02:00
Andrew McCreight 1a24cc1d71 Bug 958643, part 6 - Remove some unused forward decls. r=krizsa
MozReview-Commit-ID: yMpU0hDUXP

--HG--
extra : rebase_source : 154cab1e7673490c824525e46a36ebd359872021
2017-09-20 12:02:47 -07:00
Chris Peterson 1ca3d5aa46 Bug 870698 - Part 8: Replace Equals(NS_LITERAL_CSTRING("")) with EqualsLiteral(""). r=erahm
The NS_LITERAL_CSTRING macro creates a temporary nsLiteralCString to encapsulate the string literal and its length, but AssignLiteral() can determine the string literal's length at compile-time without nsLiteralCString.

MozReview-Commit-ID: B5Y8KyExPQ8

--HG--
extra : rebase_source : e27b266c145daa5acd887e998c6d5b408101e1db
extra : source : 33f49977a33cbdb1c7127871b940eefccc018f65
2017-09-06 15:00:31 -07:00
Ryan VanderMeulen 3d0158833d Merge autoland to m-c. a=merge 2017-08-24 20:20:08 -04:00
Marco Bonardo 7f569f98d9 Bug 1320301 - Add partial support to sqlite3_interrupt. r=asuth
MozReview-Commit-ID: V3ZjLEjqmT

--HG--
extra : rebase_source : 6f559b473c32dfcfb2bfe919c53199e202f7d636
2017-07-31 22:27:23 +02:00
Jan de Mooij 2cc6df95c3 Bug 1392554 - Port (Async)StatementParams to WebIDL bindings. r=asuth,qdot 2017-08-24 10:52:52 +02:00
Jan de Mooij 3912244f0b Bug 1390489 - Port StatementRow to WebIDL bindings. r=asuth,qdot 2017-08-22 09:25:37 +02:00
Nicholas Nethercote 65b902e3ea Bug 1386103 (part 1, attempt 3) - Specify nsAuto[C]String storage size via template parameter. r=dbaron. 2017-08-09 20:41:38 +10:00
Jan de Mooij b8c43d4666 Bug 1390147 - Remove getProperty Class hook from StatementJSHelper and AsyncStatementJSHelper. r=mrbkap 2017-08-15 16:16:07 +02:00
Andrew Sutherland 1a8a11ff09 Bug 1388584 - Part 1: Bind ATTACH DATABASE path argument. r=adw r=markh a=Aryx
This is for the trunk/nightly landing only, and approval was explicitly
requested from #sheriffs to land without tests as a preliminary stop-gap.

Tests and a proper fix will land as part of bug 1389660, but that will be a few
days.

--HG--
extra : rebase_source : 5849f2f37d735387e13ac0486f1fae7906725111
extra : source : 908a4bb55a039985473e1565d88abebfe024c44c
2017-08-12 02:33:09 -04:00
Andrew Sutherland 040a64f28b Bug 1389279 - storage::Service needs a death grip when removing strong observer references. r=bkelly
The observer references were the only thing guranteed to keep the Service
alive, leading to potential use-after-free during the iteration loop to
make sure all the connections were closed.  (Ironically, if they were
fully closed and their instances destroyed, that's when bad things would
happen.)

--HG--
extra : rebase_source : 6c8d6f9e0b75751b10166d7e2c63d5a3cb27d28e
2017-08-10 23:26:25 -04:00
Phil Ringnalda 858a553b02 Backed out 2 changesets (bug 1386103) for Android x86 build bustage
Backed out changeset eec506d87d03 (bug 1386103)
Backed out changeset 3f9ec011c9bd (bug 1386103)

MozReview-Commit-ID: 8ak71R7vUOC
2017-08-08 22:08:54 -07:00
Nicholas Nethercote e9daf4d245 Bug 1386103 (part 1) - Specify nsAuto[C]String storage size via template parameter. r=dbaron.
This patch parameterizes nsAuto[C]String, renames them as nsAuto[C]StringN, and
redefines nsAuto[C]String as typedefs for nsAuto[C]StringN<64>.

(The alternative would be to templatize nsAuto[C]String and use a default
parameter, but that would require writing "nsAuto[C]String<>" everywhere.)
2017-08-01 11:58:45 +10:00
Masatoshi Kimura 12ab2931a7 Bug 645049 - Remove [deprecated] methods on mozIStorageBaseStatement.idl. r=asuth
MozReview-Commit-ID: AB1VBuhxi8

--HG--
extra : rebase_source : e5062b532370ab4d82fb33a258e447fc66cf09f6
2017-08-06 09:17:50 +09:00
Nathan Froyd a6c96367a7 Bug 1347963 - part 1 - introduce mozilla::RecursiveMutex; r=erahm
Having a proper recursively-acquirable mutex type makes intent clearer,
and RecursiveMutex also happens to be somewhat faster than
ReentrantMonitor.
2017-03-14 14:05:51 -04:00
Andrea Marchesini 50f9ea47a3 Bug 1350958 - Finish labeling ProxyReleaseEvent, r=billm 2017-07-14 08:49:22 +02:00
Olli Pettay 4244505f99 Bug 1378218 - Don't register visited callback if we have pending link update, r=ehsan,baku 2017-07-07 13:06:52 +03:00
Sylvestre Ledru 4e9cf83ee8 Bug 1378712 - Remove all trailing whitespaces r=Ehsan
MozReview-Commit-ID: Kdz2xtTF9EG

--HG--
extra : rebase_source : 7235b3802f25bab29a8c6ba40a181a722f3df0ce
2017-07-06 14:00:35 +02:00
Marco Bonardo ext:(%20%3Cmbonardo%40mozilla.com%3E) af77ddf71b Bug 1376202 - Release sharedDBMutex prior to post-auto-finalizing sqlite3_close(). r=asuth
MozReview-Commit-ID: 9aRqQPDfeD7

--HG--
extra : rebase_source : 6ff3a16cc530c630d2fd9733af419485d45fe80b
2017-06-29 15:59:02 -07:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book 259377b6ab merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
Florian Quèze 2924991bf6 Bug 1368456 - remove Promise.jsm imports in tests, r=mconley. 2017-06-23 11:25:52 +02:00
Nicholas Nethercote 58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Marco Bonardo 53fe12fd9d Bug 1375217 - Avoid raw pointers in mozStorageAsyncStatementExecution.cpp. r=asuth
MozReview-Commit-ID: Lshd1HUjXSq

--HG--
extra : rebase_source : 0327588f9cbbfac4e3b5ffdcb62025ee930107aa
2017-06-21 18:47:26 +02:00
Florian Quèze 5b8f8b884c Bug 1374282 - script generated patch to remove Promise.defer calls, r=Mossop. 2017-06-22 12:51:42 +02:00
Florian Quèze 66f6d259bc Bug 1374282 - script generated patch to remove Task.jsm calls, r=Mossop. 2017-06-22 12:51:42 +02:00