Commit Graph

57 Commits

Author SHA1 Message Date
Bogdan Tara
bd2e8192a5 Backed out changeset 35518cae413a (bug 1649605) for test_Promise.js & test_compression.js xpc failures CLOSED TREE 2021-01-07 05:56:19 +02:00
Emma Malysz
357bdcf0c8 Bug 1649605: remove OS.File import from SessionWorker.jsm and replace OS.File usage in SessionWorker.js r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D100352
2021-01-06 23:27:43 +00:00
Mihai Alexandru Michis
497e4e7179 Backed out changeset 453811f08638 (bug 1649599) for causing performance regressions seen in Bug 1683885.
CLOSED TREE
2020-12-22 19:15:23 +02:00
Michael Goossens
912b925976 Bug 1649599 - Convert SessionFile.jsm to use IOUtils r=emalysz
Differential Revision: https://phabricator.services.mozilla.com/D99570
2020-12-17 19:42:09 +00:00
Butkovits Atila
df76b2f12d Backed out changeset 17448bde9d5d (bug 1649599) for turning Bug 1579683 into permafail. CLOSED TREE 2020-12-15 10:01:22 +02:00
Michael Goossens
79ea589fa4 Bug 1649599 - Convert SessionFile.jsm to use IOUtils r=emalysz
Differential Revision: https://phabricator.services.mozilla.com/D99570
2020-12-11 23:46:35 +00:00
Victor Porof
8eb72fd3fc Bug 1561435 - Format browser/components/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D36042
2019-07-05 09:53:32 +02:00
Mike de Boer
2d148b224b Bug 1554076 - Stop relying on the startup module - SessionStartup.jsm - to inform us of the runtime state, which is the responsibility of SessionStore.jsm. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D32734
2019-05-28 06:46:53 +00:00
Kris Maglione
856fa07b17 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16750
2019-01-17 10:18:31 -08:00
Mark Banner
462116b7f9 Bug 1486739 - Add missing dangling commas in browser/, services/, taskcluster/ and toolkit/. r=mossop
Automatic changes by ESLint, except for manual corrections for .xml files.

Differential Revision: https://phabricator.services.mozilla.com/D4439
2018-08-31 05:59:17 +00:00
Dão Gottwald
bfd25b09a2 Bug 1369456 - Replace nsSessionStartup.js with SessionStartup.jsm. r=florian
MozReview-Commit-ID: 53Mu4zb9X1C
2018-08-04 13:27:40 +02:00
Mike de Boer
ef69d41ff7 Bug 1471194 - Remove the expiring scalar Telemetry probe 'worker_restart_count', since it has served its purpose well. r=liuche
We've been able to validate that the sessionstore worker restarts, as implemented
in bug 1402267, are working as expected and that worker threads are indeed _not_
infallible during the main process' lifetime.

MozReview-Commit-ID: Le8AJhlWMn8
2018-07-12 12:56:04 +02:00
Kris Maglione
b3990a2d91 Bug 1456686: Part 1 - Fix unused and shadowed explicit imports. r=standard8
These issues were previously ignored due to the nature of our global import
rules. They need to be fixed before that rule can be updated.

MozReview-Commit-ID: DCChktTc5TW
2018-04-24 20:18:09 -07:00
Brian Grinstead
c116f51a86 Bug 1440094 - Remove imports to Console.jsm that only access the 'console' object;r=mossop
Importing this object is unnecessary after the updates to the WebIDL console from Bug 1425574
and the follow-ups blocking Bug 1430810. There are still callers that access Console.jsm
to create custom ConsoleAPI objects, but those will be handled separately.

MozReview-Commit-ID: 9ojFxtkpPId
2018-02-27 11:29:59 -08:00
Florian Quèze
f1a55f73f8 Bug 1440284 - change this.EXPORTED_SYMBOLS back to var EXPORTED_SYMBOLS in JS modules, r=mccr8. 2018-02-23 20:50:01 +01:00
Andrew McCreight
272cee1e65 Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian
This patch was autogenerated by my decomponents.py

It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.

It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.

It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)

MozReview-Commit-ID: DeSHcClQ7cG
2018-02-06 09:36:57 -08:00
Mike de Boer
ea070295a4 Bug 1427007 - Part 2: the SessionFile unit tests dependended on a very specific interaction between wipe() and read(), which changed in part 1. This fixes the tests up by making the dependency a bit more clear and explicit. r=Yoric
MozReview-Commit-ID: uoPx46cNL1
2018-02-02 17:34:32 +01:00
Mike de Boer
f0a7006c0b Bug 1427007 - Part 1: When a SessionWorker is restarted, we also need to re-initialize it with the correct SessionFile data. r=Yoric
We now know that worker restarts are rather frequent and we've had reports that
are certain to point at us forgetting to properly re-initialize the worker.
This takes care of this by factoring the init flow into its own method and setting
the flag when a failing worker is terminated.

MozReview-Commit-ID: G5jccjxkBsF
2018-02-02 16:21:03 +01:00
Dorel Luca
41a45cb10f Backed out 2 changesets (bug 1427007) for failing xpcshell on browser/components/sessionstore/test/unit/test_shutdown_cleanup.js
Backed out changeset 79b25461de35 (bug 1427007)
Backed out changeset 986dab420f52 (bug 1427007)
2018-02-02 18:07:05 +02:00
Mike de Boer
f19ca334f8 Bug 1427007 - Part 2: the SessionFile unit tests dependended on a very specific interaction between wipe() and read(), which changed in part 1. This fixes the tests up by making the dependency a bit more clear and explicit. r=Yoric
MozReview-Commit-ID: KI3qaww77wV
2018-02-02 16:21:07 +01:00
Mike de Boer
20c6ec4cd7 Bug 1427007 - Part 1: When a SessionWorker is restarted, we also need to re-initialize it with the correct SessionFile data. r=Yoric
We now know that worker restarts are rather frequent and we've had reports that
are certain to point at us forgetting to properly re-initialize the worker.
This takes care of this by factoring the init flow into its own method and setting
the flag when a failing worker is terminated.

MozReview-Commit-ID: G5jccjxkBsF
2018-02-02 16:21:03 +01:00
Kris Maglione
0bb74efdf1 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl
2018-01-29 15:20:18 -08:00
Cosmin Sabou
f09d6d985d Backed out 3 changesets (bug 1431533) for Android mochitest failures on testEventDispatcher on a CLOSED TREE
Backed out changeset a1eca62826a1 (bug 1431533)
Backed out changeset 34c999fa006b (bug 1431533)
Backed out changeset e2674287e57f (bug 1431533)
2018-01-30 07:17:48 +02:00
Kris Maglione
fd67f090b2 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl
2018-01-29 15:20:18 -08:00
Brindusan Cristian
483ba301cb Backed out 2 changesets (bug 1431533) for ESlint failures on a CLOSED TREE
Backed out changeset 6e56f4c8843e (bug 1431533)
Backed out changeset 12fc4dee861c (bug 1431533)
2018-01-30 02:32:43 +02:00
Kris Maglione
683a97d172 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl
2018-01-29 15:20:18 -08:00
Mike de Boer
ed65e8c9b2 Bug 1402267 - Add a scalar telemetry probe that tracks SessionFile worker restarts. data-r=liuche, r=chutten,liuche,ttaubert
MozReview-Commit-ID: F3kCfz18kcQ
2017-10-17 12:04:37 +02:00
Mike de Boer
8fb809bc58 Bug 1402267 - Restart the SessionWorker each time there are failures reported as much as defined in the 'browser.sessionstore.max_write_failures' pref. r=ttaubert
MozReview-Commit-ID: 91vOcbmhFmj
2017-10-17 11:59:33 +02:00
Dan Banner
5af4450327 Bug 1408777 - Automatically fix instances of missing semicolons in the tree. r=Standard8
MozReview-Commit-ID: Jm8BRgt6mIv
2017-10-15 20:50:39 +01:00
Marco Castelluccio
91823bf6b0 Bug 1357517 - Remove or delay Preferences.jsm usage from some browser/components/* files. r=Gijs 2017-07-31 13:25:41 +02:00
Carsten "Tomcat" Book
911b7bbf48 merge mozilla-inbound to mozilla-central a=merge 2017-06-26 13:25:51 +02:00
Florian Quèze
b622c2b081 Bug 1368456 - Remove imports of Promise.jsm from Firefox, r=mconley. 2017-06-23 11:25:18 +02:00
Beekill95
a28e9a41b9 Bug 934967 - Part 1: Compress session store files using lz4. r=mikedeboer
MozReview-Commit-ID: 6wKLIAglefr
2017-06-08 15:14:18 +07:00
Florian Quèze
ff53eb9a63 Bug 1353542 - massive script-generated patch converting Task.async and Task.spawn calls, and generators clearly identifiable as tasks, rs=Mossop. 2017-05-12 14:42:39 +02:00
Florian Queze
451928e614 Bug 1356569 - Remove notifyObservers' last parameter when it is falsy, r=jaws. 2017-04-14 21:51:39 +02:00
Sebastian Hengst
f75839c723 Backed out changeset 55f3df15eaa6 (bug 1356569) 2017-04-14 23:39:17 +02:00
Florian Queze
61aabdf237 Bug 1356569 - Remove notifyObservers' last parameter when it is falsy, r=jaws. 2017-04-14 21:51:39 +02:00
Mark Banner
03b4896b94 Bug 1311347 - Enable eslint of browser/components/sessionstore/. Autofix changes. r=jaws
MozReview-Commit-ID: 5LKHbcmjSy
2017-03-10 19:51:20 +00:00
jordan9769
8212e38214 Bug 1311347 - Enable eslint of browser/components/sessionstore/. Initial changes by Sourav, updated by Standard8. r=jaws
MozReview-Commit-ID: 4RFxoV8SkIa
2016-10-28 02:48:50 +05:30
David Rajchenbach-Teller
470b1f7f8b Bug 1251347 - Making sure that SessionFile.write initializes its workers;r=mconley
Bug 1243549 fixed a race condition during SessionFile startup which
could cause calls to SessionFile.write to send messages to the worker
before it was initialized. The fix consisted in waiting until
initialization was complete before proceeding.

As it turns out, there are cases in which we send messages to the
worker without ever attempting to initialize it, so this wait ends up
causing a hang/shutdown.

This patch fixes the issue by making sure that any message sent to the
worker first initializes the worker if it hasn't been initialized
yet. Since initializing the worker requires us reading the session
store files to find out which one is valid, well, we do exactly that.

MozReview-Commit-ID: 1bOgCaF6ahM
2016-02-26 12:02:43 +01:00
David Rajchenbach-Teller
5b4f41e0a5 Bug 1251347 - Refining SessionFile Shutdown hang details;r=me
MozReview-Commit-ID: Jag5oFwKTqr
2016-02-26 11:11:47 +01:00
David Rajchenbach-Teller
4f79ec13cb Bug 1243549 - SessionFile.wipe() now waits until SessionFile has been properly initialized. r=mconley
While investigating bug 1243549, we encountered several instances of the following error message during each startup:

*************************
A coding exception was thrown and uncaught in a Task.

Full message: TypeError: this.Paths is null
Full stack: Agent.wipe@resource:///modules/sessionstore/SessionWorker.js:296:7
worker.dispatch@resource:///modules/sessionstore/SessionWorker.js:21:24
anonymous/AbstractWorker.prototype.handleMessage@resource://gre/modules/workers/PromiseWorker.js:122:16
@resource:///modules/sessionstore/SessionWorker.js:30:41

*************************

These messages can be explained as follows:

* If sanitization has failed during shutdown, it attempts again to
  sanitize during startup. This happens more often than it used to,
  because of 1/ startup bug fixes in bug 1089695; 2/ new shutdown bugs
  most likely also added by or around bug 1089695.

* Sanitization during startup doesn't wait until Session Restore has
  properly started to sanitize the session. So sanitization of Session
  Restore file fails. This has probably always been the case, except
  we never noticed.

* For some reason I do not understand, it attempts to sanitize several
  times.

* I suspect that this can cause problems during startup, as
  sanitization and Session Restore race to use/remove the files of
  Session Restore.

This patch makes sure that SessionFile.wipe() waits until
initialization of SessionFile is complete before proceeding.
2016-02-02 12:56:11 +01:00
Alexandre Poirot
f1439bdbe8 Bug 1204812 - Keep Console.jsm in toolkit/modules/ r=jryans,Mossop 2015-10-15 03:45:22 -07:00
Fabian Furger
9b580992a1 Bug 1147822 - Add a format version number for sessionstore.js. r=Yoric 2015-10-11 20:24:32 +02:00
J. Ryan Stinnett
2dada8f365 Bug 912121 - Rewrite require / import to match source tree. rs=devtools
In a following patch, all DevTools moz.build files will use DevToolsModules to
install JS modules at a path that corresponds directly to their source tree
location.  Here we rewrite all require and import calls to match the new
location that these files are installed to.
2015-09-21 12:04:18 -05:00
Shu-yu Guo
37989840cd Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
David Rajchenbach-Teller
9103463632 Bug 1034075 - Add more details to SessionFile AsyncShutdown blocker. r=ttaubert 2015-05-19 13:53:41 +02:00
Tim Taubert
cdc02a8a22 Bug 1150529 - Remove code for expired telemetry histograms r=Yoric 2015-05-02 09:56:39 +02:00
Tim Taubert
c38ef6fef5 Bug 1134518 - Cap shistory entries in the SessionWorker when shutting down r=Yoric 2015-04-22 18:41:32 +02:00
Tim Taubert
1cbb05dd90 Bug 1152341 - Failure to read one of the session file candidates shouldn't stop us from trying further r=Yoric 2015-04-15 15:27:12 +02:00