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

287 Коммитов

Автор SHA1 Сообщение Дата
Chris Peterson a6a56ed916 Bug 870698 - Part 6: Replace Append(NS_LITERAL_CSTRING("")) with AppendLiteral(""). 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: F750v6NN81s

--HG--
extra : rebase_source : 714dd78df0f4c33e23e5b117615bd8fd561674c5
extra : source : 742bda9e6b1ddaf34d09894204ad18ce798b79b7
2017-09-07 18:25:25 -07:00
Nicholas Nethercote e3c9cbb969 Bug 1401813 - Rename Null[C]String() as Void[C]String(). r=erahm.
XPCOM's string API doesn't have the notion of a "null string". But it does have
the notion of a "void string" (or "voided string"), and that's what these
functions are returning. So the names should reflect that.

--HG--
extra : rebase_source : 4e3f982e0873877174a08a25413595ff66f7d20e
2017-09-22 14:35:46 +10:00
Andrea Marchesini 84764f515b Bug 1397702 - StorageObserver should use nsTObserverArray for the sink in order to support removal when iterating. r=mccr8 2017-09-10 13:32:13 -04:00
Andrew Sutherland 9d993b8aa0 Bug 1395598 - Correct LocalStorage mozStorage misuse. r=janv 2017-09-01 10:32:59 -04:00
Masatoshi Kimura 50a9a5c541 Bug 1389529 - Remove @deprecated nsIDOMStorageManager.getLocalStorageForPrincipal. r=mayhemer
MozReview-Commit-ID: 7xmsk1b2MQE

--HG--
extra : rebase_source : c4ba78fc2d1a916f5e8f9c98368daf689d703440
2017-08-12 00:36:01 +09:00
Jan Varga bd9fcfbc01 Bug 1350637 - Part 11: Fix a race between parent/child process; r=asuth
When a storage child actor gets the xpcom-shutdown notification, it releases
the actor singleton which asynchronously sends __delete__ to the parent and
destroys the child actor immediatelly. However, at the same time parent can be
sending a message to the child which results in a routing error since the child
actor doesn't exist anymore. The routing error causes a crash.
This patch prevents the race by doing the teardown in two steps. We send a
message to the parent DeleteMe and parent then sends __delete__ to the child.
2017-08-08 23:02:57 +02:00
Jan Varga ac9ac9e347 Bug 1350637 - Part 9: Move Local Storage event broadcasting from PContent to PBackground; r=asuth 2017-08-08 23:02:28 +02:00
Jan Varga b53d9b8691 Bug 1350637 - Part 7: Convert asynchronous StorageDBParent initialization to be synchronous and fix low disk space checking; r=asuth 2017-08-08 23:01:56 +02:00
Jan Varga 9d50c72e29 Bug 1350637 - Part 6: Fix a deadlock when main process storage child actor triggers storage thread initialization; r=asuth 2017-08-08 23:01:52 +02:00
Jan Varga 3acd1f5628 Bug 1350637 - Part 5: Factor out the parent actor observer sink to work on the PBackground thread, fix the rest of observer handling to use IPC; r=asuth 2017-08-08 23:01:33 +02:00
Jan Varga c186d54bb2 Bug 1350637 - Part 2: Core changes for LocalStorage on PBackground; r=asuth
- stop inheriting StorageDBBridge in StorageDBThread and StorageDBChild
- move StorageDBThread and StorageDBChild initialization out of LocalStorageCache
- use IPC even for the intra-process communication in main process
- rationalize a bit storage observer code
- make StorageDBParent to always be created and destroyed on the background thread
2017-07-26 12:19:13 +02:00
Jan Varga ceff0f7d8f Bug 1350637 - Part 1: Move PStorage stubs from PContent to PBackground; r=asuth r=billm
--HG--
rename : dom/storage/PStorage.ipdl => dom/storage/PBackgroundStorage.ipdl
2017-08-08 22:56:49 +02:00
Thomas Wisniewski e530ba4d43 Bug 1355576 - Add ability to clear all localStorage with the browsingData API; r=bsilverberg,janv
MozReview-Commit-ID: 4UUqg62yIo9

--HG--
extra : rebase_source : 9c6154bbe878fc3921d22027fdc90dbdaed05be9
2017-07-04 20:59:26 -04:00
Phil Ringnalda e760ae7c08 Backed out changeset 5020a2dcb8a7 (bug 1355576) for failures in test_ext_browsingData.js
MozReview-Commit-ID: BVSLvIkK5Wd
2017-08-06 15:29:38 -07:00
Thomas Wisniewski 5eeefa573d Bug 1355576 - Add ability to clear all localStorage with the browsingData API; r=bsilverberg,janv
MozReview-Commit-ID: 4UUqg62yIo9

--HG--
extra : rebase_source : d38ee312dbfb3b7f46893d7af200b564876c82d1
2017-07-04 20:59:26 -04:00
Bill McCloskey c6c1f4bbc9 Bug 1385413 - Remove thread parameter from onDispatchedEvent (r=erahm)
This parameter isn't used by any implementation of onDispatchedEvent,
and keeping the parameter makes later refactorings in this bug more difficult.

MozReview-Commit-ID: 90VY2vYtwCW
2017-07-28 13:09:06 -07:00
Andrea Marchesini d2b7ec5d78 Bug 1384650 - Remove extra warnings in SessionStorageManage, r=erahm 2017-07-26 21:47:43 +02:00
Bevis Tseng a7505864a8 Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm
--HG--
extra : rebase_source : 11319e568a51d16754a6a9990f76c35c86c2bda7
2017-07-26 16:13:35 +08:00
Andrea Marchesini 3061742432 Bug 1379568 - Filtering for StorageEvent broadcasting, r=asuth 2017-07-26 15:55:51 +02:00
Sebastian Hengst 88f58a1134 Backed out changeset 960a0dc9092f (bug 1379568) for frequently timing out web-platform-test /webstorage/storage_setitem.html. r=backout 2017-07-12 19:04:44 +02:00
Andrea Marchesini 7ab90de6be Bug 1379568 - Filtering for StorageEvent broadcasting, r=asuth 2017-07-12 14:49:05 +02:00
Wes Kocher 19d135c982 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 4R4GFHPiij
2017-07-06 16:19:38 -07:00
Andrea Marchesini 68ee090884 Bug 1333981 - Introduce StorageNotifierService for the dispatching of StorageEvent using the correct mainthread event target, r=billm 2017-07-06 19:35:33 +02:00
Sebastian Hengst f48d2ca17a Backed out changeset 326615f76fd9 (bug 1333981) for asserting in test_storageNotifications.html. r=backout 2017-07-06 15:16:36 +02: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
Andrea Marchesini 137ff0d2b0 Bug 1333981 - Introduce StorageNotifierService for the dispatching of StorageEvent using the correct mainthread event target, r=billm 2017-07-06 12:55:35 +02: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
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
Nicholas Nethercote 033f83145c Bug 1375387 - Reorder and section-ify GeckoProfiler.h. r=mstange.
This patch gives some structure and order to the profiler's API.

It also renames AutoProfilerRegister as AutoProfilerRegisterThread, to match
profiler_register_thread().
2017-06-22 14:28:47 +10:00
Nicholas Nethercote f1364a75ea Bug 1374580 (part 3) - Remove ns{,C}Substring typedefs. r=froydnj.
All the instances are converted as follows.

- nsSubstring  --> nsAString
- nsCSubstring --> nsACString

--HG--
extra : rebase_source : cfd2238c52e3cb4d13e3bd5ddb80ba6584ab6d91
2017-06-20 19:19:52 +10:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Andrea Marchesini 8d3ee27842 Bug 1370087 - GenerateOriginKey cannot assert the existence of nsIPrincipal, r=smaug 2017-06-12 12:26:08 +02:00
Andrea Marchesini 7cf1d1c9b0 Bug 1366101 - Remove extra warnings in SessionStorageManage, r=smaug 2017-05-19 17:26:42 +02:00
Andrea Marchesini c220978a34 Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 11 - SessionStorageCache must have 2 DataSet: default and sessionOnly, r=asuth 2017-05-17 07:01:15 +02:00
Andrea Marchesini ea8fdbd1e1 Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 10 - Move IsSessionOnly() in Storage class, r=asuth 2017-05-17 07:01:15 +02:00
Andrea Marchesini 44f653e013 Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 9 - Move SessionStorageCache in separate files, r=asuth
--HG--
rename : dom/storage/SessionStorage.cpp => dom/storage/SessionStorageCache.cpp
rename : dom/storage/SessionStorage.h => dom/storage/SessionStorageCache.h
2017-05-17 07:01:14 +02:00
Andrea Marchesini 4d15e9cb30 Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 8 - Rename StorageCache to LocalStorageCache, r=asuth
--HG--
rename : dom/storage/StorageCache.cpp => dom/storage/LocalStorageCache.cpp
rename : dom/storage/StorageCache.h => dom/storage/LocalStorageCache.h
2017-05-17 07:01:14 +02:00
Andrea Marchesini 64c5efb312 Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 7 - SessionStorageManager must be a StorageObserverSink, r=asuth 2017-05-17 07:01:14 +02:00
Andrea Marchesini d1223c0fbd Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 6 - Implementation of IsForkOf(), r=asuth 2017-05-17 07:01:14 +02:00
Andrea Marchesini 24bdb3ece3 Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 5 - Shared broadcasting of changes, r=asuth 2017-05-17 07:01:14 +02:00
Andrea Marchesini 9ace5e5eb5 Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 4 - Rename StorageManagerBase to LocalStorageManager, r=asuth
--HG--
rename : dom/storage/StorageManager.cpp => dom/storage/LocalStorageManager.cpp
rename : dom/storage/StorageManager.h => dom/storage/LocalStorageManager.h
2017-05-17 07:01:14 +02:00
Andrea Marchesini 92cdd8d98b Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 3 - SessionStorageManager, r=asuth 2017-05-17 07:01:14 +02:00
Andrea Marchesini 6bb2aff78b Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 2 - Rename Storage.{cpp,h} to LocalStorage.{cpp,h}, r=asuth
--HG--
rename : dom/storage/Storage.cpp => dom/storage/LocalStorage.cpp
rename : dom/storage/Storage.h => dom/storage/LocalStorage.h
2017-05-17 07:01:13 +02:00
Andrea Marchesini 53a425959b Bug 1322316 - Split SessionStorage and LocalStorage implementation - part 1 - SessionStorage, r=asuth 2017-05-17 07:01:12 +02:00
Tim Taubert 1eae0fcd88 Bug 1361974 - Add nsIDOMWindowUtils API to check usage of a given storage r=mayhemer 2017-05-04 14:29:36 +02:00
Cervantes Yu cc5836fbae Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
NS_SetCurrentThreadName() is added as an alternative to PR_SetCurrentThreadName()
inside libxul. The thread names are collected in the form of crash annotation to
be processed on socorro.

MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Sebastian Hengst 1828ea89ca Backed out changeset 7fdcabdbb675 (bug 1024669) for failing mda, GTest and talos jobs. r=backout on a CLOSED TREE 2017-04-10 19:05:44 +02:00
Cervantes Yu 364e524eca Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Carsten "Tomcat" Book 02ddc23c74 Backed out changeset 7a52d887bcea (bug 1024669) for bustage 2017-04-10 11:43:49 +02:00
Cervantes Yu ece1ce1a7d Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto
MozReview-Commit-ID: 4RpAWzTuvPs
2017-02-07 18:57:23 +08:00
Kris Maglione ed8f1d6726 Bug 1314361 - Part 7: Strip addonId from existing DOMStorage origin attributes. r=mayhemer 2016-11-08 17:12:22 -08:00
Andrew Sutherland 8f55b3a3a3 Bug 1285898 - [e10s-multi] fixup PContent ordering via immediate event dispatch. r=baku
--HG--
extra : rebase_source : 2c905ab2a4d3d758e7cee8ba8ad4752b5f05aa65
extra : source : 15b3b9feb54f294171eaf86e7ad4b13c73e11d25
2017-01-31 03:42:38 -05:00
Andrew Sutherland cb447ab1e5 Bug 1285898 - [e10s-multi] Make precaching without keepalive work by stashing on the window. r=baku
--HG--
extra : rebase_source : c73d2071ad4cc2bf6920771ca8cfe085334c6ae6
extra : intermediate-source : 1d0bfb02d6c07f62ba21ccfa54a55c2d095ecfa1
extra : source : 9c6057cde326f707076f4bda766f31df4888c5bb
2017-01-26 06:39:24 -05:00
Andrew Sutherland e81f0b98a9 Bug 1285898 - [e10s-multi] LocalStorage e10s multiple write avoidance. r=baku
--HG--
extra : rebase_source : 2f6c19aeea1676ac8bffcd075f0dbaf828481ffa
extra : intermediate-source : bc99844772ee5452c313448bfdb0866428f1bcb1
extra : source : bd68ebab64faaabe9a9d4cc294fc4243ca9d8cc3
2017-01-24 06:45:11 -05:00
Andrew Sutherland 0ce2fb42e7 Bug 1285898 - [e10s-multi] LocalStorage e10s Test. r=baku
--HG--
extra : rebase_source : 27e7ae089b79b8d4b90315a11cc7eb05d285c643
extra : intermediate-source : 8bbe285cf5c03f6df3b199374310ff5150664290
extra : source : 6fdb24e1256d20fc1ff22f20cc47c1955a3962c4
2017-02-07 04:05:07 -05:00
Andrea Marchesini d32aa97041 Bug 1285898 - [e10s-multi] Localstorage "storage" event is not fired with multiple content processes. r=asuth
--HG--
extra : rebase_source : 724b38c52139dee1c6f746152fefff05333dfc24
extra : intermediate-source : e56108122b9088555f29a28e6086d4d117a68c4e
extra : source : 6681b50c1f6d0d2d22d5f631234402e020c0b78a
2017-02-19 22:16:48 -05:00
Vedant Sareen 7d4bd52fae Bug 1330907 - Rename Telemetry::ID to Telemetry::HistogramID. r=dexter
Changed |print("enum ID : uint32_t {", file=output)| to |print("enum HistogramID : uint32_t {", file=output)| at line 53 of the file |toolkit/components/telemetry/gen-histogram-enum.py|, and then replaced all the textual occurrences of |Telemetry::ID| to |Telemetry::HistogramID| and |ID| to |HistogramID| in 43 other files.
2017-02-16 00:45:15 +05:30
Bill McCloskey 0cda76d680 Bug 1339289 - Give names to a lot of common timers (r=ehsan)
MozReview-Commit-ID: IMsv5bkyjBL
2017-02-15 12:30:01 -08:00
Bill McCloskey 194043ae97 Bug 1339289 - Give names to a lot of common runnables (r=ehsan)
MozReview-Commit-ID: 5IdvK6kgoAW
2017-02-15 12:30:01 -08:00
Joel Maher c203f27827 Bug 1335099 - add BUG_COMPONENT to many dom/* subdir files. r=overholt
MozReview-Commit-ID: CyIIs98hnUI
2017-02-06 09:45:55 -05:00
Sebastian Hengst 7225ec6170 Backed out changeset 9a332af74af5 (bug 1335099) for build bustage (moz.build rule matches no files). r=backout on a CLOSED TREE 2017-02-06 16:21:20 +01:00
Joel Maher 60e61eed48 Bug 1335099 - add BUG_COMPONENT to many dom/* subdir files. r=overholt
MozReview-Commit-ID: CyIIs98hnUI
2017-02-06 09:45:55 -05:00
Phil Ringnalda b1aadb3572 Backed out 5 changesets (bug 1285898) for causing the crashes of bug 1336242
Backed out changeset 15b3b9feb54f (bug 1285898)
Backed out changeset 1d0bfb02d6c0 (bug 1285898)
Backed out changeset bc99844772ee (bug 1285898)
Backed out changeset 8bbe285cf5c0 (bug 1285898)
Backed out changeset e56108122b90 (bug 1285898)
2017-02-02 22:02:24 -08:00
Andrew Sutherland 246770dae0 Bug 1285898 - [e10s-multi] fixup PContent ordering via immediate event dispatch. r=baku
--HG--
extra : rebase_source : 5cb6cd38cd099abbbc9fa9c73e3726cc729b6bf5
2017-01-31 03:42:38 -05:00
Andrew Sutherland 2da25e9c13 Bug 1285898 - [e10s-multi] Make precaching without keepalive work by stashing on the window. r=baku
--HG--
extra : rebase_source : 75ec00b41bc1835c681c7269a1dc9afe55bc83b5
extra : source : 9c6057cde326f707076f4bda766f31df4888c5bb
2017-01-26 06:39:24 -05:00
Andrew Sutherland df205e0505 Bug 1285898 - [e10s-multi] LocalStorage e10s multiple write avoidance. r=baku
--HG--
extra : rebase_source : 886332cf04667d720f32456f5831764fdd022c81
extra : source : bd68ebab64faaabe9a9d4cc294fc4243ca9d8cc3
2017-01-24 06:45:11 -05:00
Andrew Sutherland 93beea7eba Bug 1285898 - [e10s-multi] LocalStorage e10s Test. r=baku
--HG--
extra : rebase_source : 9e67a030af0a653c7382bc9c1c790a8af60a968a
extra : source : 6fdb24e1256d20fc1ff22f20cc47c1955a3962c4
2017-01-18 17:45:09 -05:00
Andrea Marchesini 1e58b980f5 Bug 1285898 - [e10s-multi] Localstorage "storage" event is not fired with multiple content processes. r=asuth
--HG--
extra : rebase_source : 9968fd96960aecd516bfcc5c239b9de85280ab8a
extra : source : 6681b50c1f6d0d2d22d5f631234402e020c0b78a
2017-01-17 15:43:12 -05:00
Phil Ringnalda 85843f4cff Backed out 4 changesets (bug 1285898) for browser_localStorage_e10s.js failure
Backed out changeset 9c6057cde326 (bug 1285898)
Backed out changeset bd68ebab64fa (bug 1285898)
Backed out changeset 6fdb24e1256d (bug 1285898)
Backed out changeset 6681b50c1f6d (bug 1285898)
2017-01-30 21:49:42 -08:00
Andrew Sutherland 78ee8c8c65 Bug 1285898 - [e10s-multi] Make precaching without keepalive work by stashing on the window. r=baku 2017-01-30 22:47:56 -05:00
Andrew Sutherland e36c53a285 Bug 1285898 - [e10s-multi] LocalStorage e10s multiple write avoidance. r=baku 2017-01-30 22:47:45 -05:00
Andrew Sutherland 57b997c027 Bug 1285898 - [e10s-multi] LocalStorage e10s Test. r=baku 2017-01-30 22:47:28 -05:00
Andrea Marchesini db2311e1e0 Bug 1285898 - [e10s-multi] Localstorage "storage" event is not fired with multiple content processes. r=asuth 2017-01-30 22:47:06 -05:00
Eric Rahm 6af429ff8a Bug 1332202 - Convert most infallible NS_EscapeURL calls to fallible version. r=froydnj
This makes most users of |NS_EscapeURL| use the fallible version. A few are
left infallible as it seems like the entire function is assumed to be
infallible.

MozReview-Commit-ID: Cy1L5jQwjO1
2017-01-24 11:11:44 -08:00
Ehsan Akhgari 43c1d4a481 Bug 1319951 - Partially revert the changes from bug 1283281 to handle the case where DOM Storage is accessed with the system principal exactly like before; r=baku 2017-01-20 10:57:07 -05:00
Andrea Marchesini 359ae91eac Bug 1328653 - Merging all the various *OriginAttributes to just one, r=huseby 2017-01-12 17:38:48 +01:00
Markus Stange 4bdc4ca0fb Bug 1323100 - Register most of the remaining threadfunc threads with the profiler. r=froydnj
As far as I can tell, this covers all the remaining threads which we start
using PR_CreateThread, except the ones that are created inside NSPR or NSS,
and except for the Shutdown Watchdog thread in nsTerminator.cpp and the
CacheIO thread. The Shutdown Watchdog thread stays alive past leak detection
during shutdown (by design), so we'd report leaks if we profiled it. The
CacheIO thread seems to stay alive past shutdown leak detection sometimes as
well.

This adds a AutoProfilerRegister stack class for easy registering and
unregistering. There are a few places where we still call
profiler_register_thread() and profiler_unregister_thread() manually, either
because registration happens conditionally, or because there is a variable that
gets put on the stack before the AutoProfilerRegister (e.g. a dynamically
generated thread name). AutoProfilerRegister needs to be the first object on
the stack because it uses its own `this` pointer as the stack top address.

MozReview-Commit-ID: 3vwhS55Yzt

--HG--
extra : rebase_source : 56dd27282e7bd09a7e7dc7ca09ccfe3a0198e7af
2017-01-05 16:34:26 +01:00
Andrea Marchesini bc98b07905 Bug 1322550 - Rename DOMStorage to Storage, r=smaug
--HG--
rename : dom/storage/DOMStorage.cpp => dom/storage/Storage.cpp
rename : dom/storage/DOMStorage.h => dom/storage/Storage.h
rename : dom/storage/DOMStorageCache.cpp => dom/storage/StorageCache.cpp
rename : dom/storage/DOMStorageCache.h => dom/storage/StorageCache.h
rename : dom/storage/DOMStorageDBThread.cpp => dom/storage/StorageDBThread.cpp
rename : dom/storage/DOMStorageDBThread.h => dom/storage/StorageDBThread.h
rename : dom/storage/DOMStorageDBUpdater.cpp => dom/storage/StorageDBUpdater.cpp
rename : dom/storage/DOMStorageDBUpdater.h => dom/storage/StorageDBUpdater.h
rename : dom/storage/DOMStorageIPC.cpp => dom/storage/StorageIPC.cpp
rename : dom/storage/DOMStorageIPC.h => dom/storage/StorageIPC.h
rename : dom/storage/DOMStorageManager.cpp => dom/storage/StorageManager.cpp
rename : dom/storage/DOMStorageManager.h => dom/storage/StorageManager.h
rename : dom/storage/DOMStorageObserver.cpp => dom/storage/StorageObserver.cpp
rename : dom/storage/DOMStorageObserver.h => dom/storage/StorageObserver.h
2017-01-04 14:53:01 +01:00
Yoshi Huang 2ceecc22f5 Bug 1324115 - Part 2: replace the callers to use C++ helper. r=smaug 2016-12-21 14:59:21 +08:00
J. Ryan Stinnett 227ff07d14 Bug 1324176 - Control DOM storage testing paths with pref. r=mayhemer
MozReview-Commit-ID: CHrjGBPOEmg

--HG--
extra : rebase_source : 0f03c760f72adf622180c4246d1cf8681cf4d91d
2016-12-19 11:48:33 -06:00
Andrea Marchesini c741caf609 Bug 1311707 - dom-private-storage2-changed notification, r=janv 2016-11-29 07:19:08 +01:00
Kan-Ru Chen f8100451db Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Bill McCloskey d9f445e359 Bug 792652 - Get rid of CloneProtocol (r=dvander)
CloneProtocol is leftover code from Nuwa. We can remove it now.
2016-11-08 15:22:33 -08:00
Wes Kocher 4b3d16605a Backed out 18 changesets (bug 792652) for build bustage on linux64 a=backout CLOSED TREE
Backed out changeset 90eaf6aec002 (bug 792652)
Backed out changeset ddd915ab4a48 (bug 792652)
Backed out changeset 95eff6c45cae (bug 792652)
Backed out changeset 75855b5a9ab9 (bug 792652)
Backed out changeset b658ebaad5d7 (bug 792652)
Backed out changeset 2ba36b8ac60c (bug 792652)
Backed out changeset 94fcd3bf3f34 (bug 792652)
Backed out changeset cf9c4164eb43 (bug 792652)
Backed out changeset 59e6d0a4f35b (bug 792652)
Backed out changeset bdf86b8b9c43 (bug 792652)
Backed out changeset 8edf4b247250 (bug 792652)
Backed out changeset 63a3c8e4016e (bug 792652)
Backed out changeset e3e496eab991 (bug 792652)
Backed out changeset 5a1e3136323a (bug 792652)
Backed out changeset dbbe3a8c00e7 (bug 792652)
Backed out changeset 1829d5358808 (bug 792652)
Backed out changeset 004cd692ba6d (bug 792652)
Backed out changeset 92e7fee81fa2 (bug 792652)
2016-11-08 12:05:28 -08:00
Bill McCloskey 1a00da8679 Bug 792652 - Get rid of CloneProtocol (r=dvander)
CloneProtocol is leftover code from Nuwa. We can remove it now.
2016-11-08 11:32:23 -08:00
Boris Zbarsky 3f10f5ed57 Bug 1308287 part 1. Change [NeedsSubjectPrincipal] to only do the Maybe thing for interfaces that can be exposed to workers. r=baku
The idea is to not make consumers think about whether the principal exists or
not when the caller knows for sure that it does.

The substantive changes are in dom/bindings, nsHTMLDocument::SetDesignMode, and
around the CanUseStorage bits.  Everything else is pretty mechanical.
2016-10-10 21:07:48 -04:00
Yoshi Huang 2a51f65d99 Bug 1237152 - rename clear-origin-data to clear-origin-attributes-data, r=smaug
find \( -name '*.cpp' -o -name '*.h' -o -name '*.js' -o -name '*.jsm' -o -name '*.idl' -o -name '*.html' \) \
-a -type f -exec sed -i 's/clear-origin-data/clear-origin-attributes-data/g' {} \;
2016-10-07 17:45:10 +08:00
Bill McCloskey f478d1188c Bug 1306708 - Rename prio to nested in IPDL (r=dvander) 2016-10-04 20:34:54 -07:00
Bill McCloskey b83db28a45 Revert "Bug 1306708 - Rename prio to nested in IPDL (r=dvander)" on a CLOSED TREE
This reverts commit b1460c626078afbb9290e7d9ecaf3af605d5e893.
2016-10-04 15:55:19 -07:00
Bill McCloskey eddd80027c Bug 1306708 - Rename prio to nested in IPDL (r=dvander) 2016-10-04 15:28:14 -07:00
Andrea Marchesini 7de21588c7 Bug 1306248 - Use NeedsSubjectPrincipal in DOMStorage, r=ehsan 2016-10-03 16:10:27 +02:00
Iris Hsiao 2afc902dd2 Backed out changeset a99817b61d70 (bug 1306248) for crashed @nsContentUtils::SubjectPrincipal
CLOSED TREE
2016-10-03 18:04:06 +08:00
Andrea Marchesini 8b8568a4db Bug 1306248 - Use NeedsSubjectPrincipal in DOMStorage, r=ehsan 2016-10-03 10:35:57 +02:00
Michael Layzell b258dfaa89 Bug 1297802 - Remove unused RefPtr<> and COMPtr<> types in dom/, r=baku
MozReview-Commit-ID: CLUJZdbN7sW
2016-08-29 11:40:02 -04:00
Kan-Ru Chen b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Kan-Ru Chen 1594b39727 Bug 1295103 - Check OriginAttributes::PopulateFromSuffix return value in DOMStorageDBThread r=mayhemer
MozReview-Commit-ID: FSIgxWNf9s4

--HG--
extra : rebase_source : bf9f04d2ddd33782046594c9c3632a5d59a8be5c
2016-08-15 18:17:08 +08:00
Nicholas Nethercote bab6d17ebf Bug 1293117 (part 4) - Change many NS_IMETHODIMP occurrences to NS_IMETHOD. r=froydnj.
This patch makes the following changes on many in-class methods.

- NS_IMETHODIMP F() override;      --> NS_IMETHOD F() override;
- NS_IMETHODIMP F() override {...} --> NS_IMETHOD F() override {...}
- NS_IMETHODIMP F() final;         --> NS_IMETHOD F() final;
- NS_IMETHODIMP F() final {...}    --> NS_IMETHOD F() final {...}

Using NS_IMETHOD is the preferred way of marking in-class virtual methods.
Although these transformations add an explicit |virtual|, they are safe --
there's an implicit |virtual| anyway because |override| and |final| only work
with virtual methods.

--HG--
extra : rebase_source : 386ee4e4ea2ecd8d5001efabc3ac87b4d6c0659f
2016-08-08 10:54:47 +10:00
James Andreou 3585e16752 Bug 1283281 - Remove PB Flag from DOMStorage. r=jdm 2016-06-29 14:01:00 +02:00
Nicholas Nethercote e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Alexandre Lissy 0af5b943b6 Bug 1284674 - Remove NUWA r=cyu
MozReview-Commit-ID: GyMRNzOBKw6

--HG--
extra : rebase_source : 293af1cd55f2035ce6a99f4ebf144059c32a2b8f
2016-08-02 14:54:00 +02:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Chris Peterson b175c9fdd5 Bug 1277106 - Part 2: Expand MOZ_UTF16() strings to u"" string literals. r=Waldo 2016-07-20 22:03:25 -07:00
Andrea Marchesini 163825f4a6 Bug 1281793 - Remove some non-used telemetry IDs - part 4 - random things (2), r=chutten 2016-06-28 19:30:37 +02:00
Carsten "Tomcat" Book 0f88d840e4 Backed out changeset 27b1dd843116 (bug 1281793) 2016-06-28 17:04:49 +02:00
Andrea Marchesini 430a14cd11 Bug 1281793 - Remove some non-used telemetry IDs - part 4 - random things (2), r=chutten 2016-06-28 16:44:42 +02:00
Jonathan Watt b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Chris Peterson 8a9e2d2bd4 Bug 1272513 - Part 2: Remove redundant -Wshadow CXXFLAGS from moz.build files. r=glandium 2016-05-14 00:54:55 -07:00
Boris Zbarsky 59de5a530f Bug 1270349 part 5. Use LegacyUnenumerableNamedProperties instead of passing flags to GetSupportedNames to determine whether named props on DOM proxies should be reflected in ownPropertyKeys. r=peterv 2016-05-09 22:25:40 -04:00
Boris Zbarsky 76180fb5a7 Bug 1270349 part 4. Use LegacyUnenumerableNamedProperties instead of NameIsEnumerable() calls to determine whether named props on DOM proxies should be enumerable. r=peterv 2016-05-09 22:25:40 -04:00
Kyle Huey 941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Kyle Huey 48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Kyle Huey c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
J. Ryan Stinnett 2a55d065b7 Bug 1238160 - Rename OriginAttributes.mInBrowser and associated methods. r=bz,mayhemer
This change renames OriginAttributes.mInBrowser to mInIsolatedMozBrowser and
nsIPrincipal::GetIsInBrowserElement to GetIsInIsolatedMozBrowserElement.  Other
methods that pass these values around also have name changes.

Tokens such as "inBrowser" have previously been serialized into cache keys, used
as DB column names, stored in app registries, etc.  No changes are made to any
serialization formats.  Only runtime method and variable names are updated.

No behavior changes are made in this patch, so some renamed methods may have
nonsensical implementations.  These are corrected in subsequent patches
focused on behavior.

MozReview-Commit-ID: 66HfMlsXFLs
2016-03-02 10:35:56 -06:00
Honza Bambas 540b56cf15 Bug 1250141 - Remove NS_WARN_IF after AppendOriginNoSuffix in DOMStorageManager::CheckStorage, r=ehsan 2016-02-24 22:27:09 -08:00
Bogdan Postelnicu 2a8999dca1 Bug 1242924 - check return of pattern.Init in DOMStorageManager::Observe. r=jst
--HG--
extra : rebase_source : 4407baa0e09ff6dab73db354cf38e41130b2f559
2016-01-26 15:09:19 +02:00
Honza Bambas a1ea8e0ceb Bug 1136857 - Make DOMStorageCache::mLoaded flag atomic to prevent potential races, r=nfroyd 2016-02-02 06:43:00 +01:00
Honza Bambas 69df2d7b0f Bug 1244038 - Drop localStorage database indexes before renaming the table during update. r=mak77 2016-02-01 12:32:00 -05:00
Kyle Huey 91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Nicholas Nethercote 6c7df1f040 Bug 1187151 (part 12) - Replace nsBaseHashtable::Enumerate() calls in dom/ with iterators. r=khuey.
--HG--
extra : rebase_source : d3b87524cd3f2eff118727cadac6d31713cead89
2016-01-27 16:05:00 -08:00
Honza Bambas 6e8ac19b98 Bug 1240238 - Full DOMStorage schema 1 scope update uniqueness, r=smaug 2016-01-27 09:33:00 +01:00
David Rajchenbach-Teller 583ca7286d Bug 1224374 - Profiler labels for the top 26-100 chrome hangs;r=BenWa
--HG--
extra : rebase_source : 39e94507c0288863e495322a6899ff009840870d
2016-01-15 11:38:03 +01:00
Chris Peterson c824bef9fe Bug 1240265 - Annotate intentional switch fallthroughs in dom/. r=mrbkap
dom/base/Element.cpp:2920:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/Element.cpp:2935:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/nsDocument.cpp:6595:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/nsDocument.cpp:7631:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/nsDocument.cpp:7922:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/nsGlobalWindow.cpp:7573:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/base/nsXMLContentSerializer.cpp:1393:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/cache/AutoUtils.cpp:487:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/html/HTMLInputElement.cpp:3808:15 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/html/HTMLInputElement.cpp:3836:15 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/storage/DOMStorageDBThread.cpp:224:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
dom/workers/ScriptLoader.cpp:1994:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels

--HG--
extra : rebase_source : ba9bd93b2c65e2db05b26e7b4c203dd7710516f3
2015-11-25 23:26:32 -08:00
Sebastian Hengst d8d4a2d1a5 Backed out 2 changesets (bug 1224374) for Windows bustage. r=bustage on a CLOSED TREE
Backed out changeset 5f458e6e4997 (bug 1224374)
Backed out changeset 0dc02cb0b604 (bug 1224374)
2016-01-19 21:30:41 +01:00
David Rajchenbach-Teller 2d53758d08 Bug 1224374 - Profiler labels for the top 26-100 chrome hangs;r=BenWa
--HG--
extra : rebase_source : 51d39d6f88bf58ccb29f5897c3dbbe71007ee842
2016-01-15 11:38:03 +01:00
Honza Bambas a0a6f7e23c Bug 1165214 - Use OriginAttributes in DOM Storage. r=smaug, r=bholley
--HG--
extra : rebase_source : b63ddb5a24a335f771a856cd20c69cdeb0c92ca0
2016-01-05 07:25:00 -05:00
Nicholas Nethercote 4ea95b701d Bug 1186811 (part 4) - Replace nsBaseHashtable::EnumerateRead() calls in dom/storage/ with iterators. r=baku.
--HG--
extra : rebase_source : a6698e724537b4bb26abc13a2f9b85eda20893fb
2015-11-01 19:37:45 -08:00
Nicholas Nethercote de12cd37e8 Bug 1186811 (part 3) - Replace nsBaseHashtable::EnumerateRead() calls in dom/storage/ with iterators. r=baku.
--HG--
extra : rebase_source : bca9fc527469310573c31173ae21f9e1363700ed
2015-11-01 19:35:30 -08:00
Nicholas Nethercote 1694f7969f Bug 1186811 (part 2) - Replace nsBaseHashtable::EnumerateRead() calls in dom/storage/ with iterators. r=baku.
--HG--
extra : rebase_source : cb471697e38ff330956309e9280aa702adf17714
2015-11-01 19:24:46 -08:00
Nicholas Nethercote aa9f82bd36 Bug 1186811 (part 1) - Replace nsBaseHashtable::EnumerateRead() calls in dom/storage/ with iterators. r=baku.
--HG--
extra : rebase_source : 4b15ff97859da5e4421929c2c259f440d7224db3
2015-11-01 19:23:05 -08:00
Birunthan Mohanathas 9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
M Hamdy 67d215f8de Bug 606655 - delete cookies UI option AskMeEveryTime and its related comments and tests. r=mak
--HG--
extra : rebase_source : 242a074db54395e4b285110286e7692f26b57daa
2015-10-08 09:13:00 +02:00
Andrew McCreight 0ff7248107 Bug 1210517 - Create nsVariant directly rather than via do_CreateInstance(). r=froydnj
The goal here is to leave creation stuff mostly for JS, so we can
convert it entirely over to a non-threadsafe cycle-collected version
without breaking any existing C++ users.

I didn't do this for a remaining use in nsGlobalWindow.h to avoid
including nsVariant.h all over the place.
2015-10-07 08:17:42 -07:00
Ehsan Akhgari 4ff5a15c06 Bug 1208897 - Fix an initialization order bug in DOMStorageDBThread; r=baku
This is found by Viva64.  The error is in fact benign since the
StatementCache constructor takes a reference to the nsCOMPtr
passed to it, and stores it for later use, so nothing bad
happens at runtime, but still we should not be using uninitialized
members to initialize other members with.
2015-09-28 09:08:44 -04:00
Chris Peterson 71920a9550 Bug 1207030 - Enable -Wshadow flag in more directories that have no -Wshadow warnings. r=glandium 2015-09-22 21:39:03 -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 c98f12f1ae Bug 536509 - Update localStorage to use common StorageAllowedForWindow logic, r=ehsan 2015-08-28 10:10:28 -04:00
Aidin Gharibnavaz c36bffa713 Bug 929846 - Considering key size when calculating quota usage. r=jdm 2015-08-17 15:19:30 -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
Honza Bambas d2501443bc Bug 1192194 - Make DOMStorageDBThead::mDBReady atomic. r=smaug
--HG--
extra : rebase_source : d4a9c888ef83efcfddf58c8e447f0f4b440a0c6a
2015-08-07 05:00:00 -04:00
Honza Bambas 2f0e0c40f6 Bug 1189426 - Don't assert false in DOMStorageDBThread::InsertDBOp when we failed to open the database. r=smaug
--HG--
extra : rebase_source : 4638dee9e96bdabf47b35b513857cbefdc2606b0
2015-08-06 11:08:00 -04:00
Nicholas Nethercote 35a54c92f0 Bug 1182977 (part 2) - Use PLDHashTable::Iterator in dom/storage/. r=khuey.
--HG--
extra : rebase_source : 7aeac7d3d093bb3360de179b8259bc98449b308e
2015-07-22 00:02:15 -07:00
Nicholas Nethercote 4cebc0675d Bug 1182977 - Use PLDHashTable::Iterator in dom/storage/. r=khuey. 2015-07-21 23:54:12 -07:00
Michael Layzell 811eb00946 Bug 1184971 - Expose cookieBehavior and cookieLifetimePolicy preference variants from nsICookieService. r=ehsan
--HG--
extra : rebase_source : 7cfe37db0fe858f42aceda2ef90a5fa69560b86e
2015-07-17 08:01:00 +02:00
Carsten "Tomcat" Book af1ca050c6 Backed out changeset 2f4b5acae553 (bug 1184971) for causing OS X Memory Leaks
--HG--
extra : rebase_source : 8a69fbfd8f30276036a80929e2f04b1e22d60341
2015-07-21 10:27:44 +02:00
Michael Layzell 30664f5e8d Bug 1184971 - Expose cookieBehavior and cookieLifetimePolicy preference variants from nsICookieService. r=ehsan 2015-07-17 08:01:00 +02:00