Commit graph

99 commits

Author SHA1 Message Date
Ehsan Akhgari
941548abbb Bug 1374892 - Implement nsISHistoryListener::OnLengthChanged/OnIndexChanged on the JS implementations to avoid generating silent exceptions when Gecko calls these functions; r=freesamael 2017-06-22 00:30:37 -04:00
Tim Taubert
00fc6cad00 Bug 1362058 - Further limit the amount of sessionStorage data we store and serialize r=mikedeboer 2017-05-05 12:17:09 +02:00
Tim Taubert
c9074e0e0a Bug 1360916 - Update telemetry code in sessionstore content script r=mikedeboer data-r=bsmedberg
This patch replaces FX_SESSION_RESTORE_CONTENT_COLLECT_DATA_LONGEST_OP_MS with
a more fine-grained data collection via a keyed histogram so that we can
determine which type of data collection we spend a lot of time on.

Additionally, it abandons sending telemetry data from the content to the parent
via custom messages and instead uses the Telemetry service directly. Thus it
also gets rid of a bug that currently overrides measurements for the same
histogram done quickly in succession
2017-05-03 12:06:34 +02:00
Sebastian Hengst
d462b93aeb Backed out changeset ec64ea9b1249 (bug 1360916) for failing browser_sessionStorage_size.js. r=backout 2017-05-03 00:25:07 +02:00
Tim Taubert
142cf6d7de Bug 1360916 - Update telemetry code in sessionstore content script r=mikedeboer data-r=bsmedberg
This patch replaces FX_SESSION_RESTORE_CONTENT_COLLECT_DATA_LONGEST_OP_MS with
a more fine-grained data collection via a keyed histogram so that we can
determine which type of data collection we spend a lot of time on.

Additionally, it abandons sending telemetry data from the content to the parent
via custom messages and instead uses the Telemetry service directly. Thus it
also gets rid of a bug that currently overrides measurements for the same
histogram done quickly in succession.
2017-05-02 23:22:45 +02:00
Gabor Krizsanits
b007d78f5d Bug 1352961 - P2: Measure for the delay before a new tab starts processing the first URL. r=mconley, data-r=bsmedberg
Opening pages in a new tab might suffer an extra delay from e10s-multi because
the new process has to start up and then run all the process / frame scripts
before it can react on the request from the parent to load the first page.

There are two code paths. Either we start the tab with a remote browser and
then the RemoteWebNavigation will send the request. Or we start with a non-remote
browser and have to change the remoteness flag on it, and then the SessionStore
will send the request.

In each cases we start the timer on the parent side, send it with the message,
and when the child receives it it stops the timer and reports the measured delay.
2017-04-25 17:11:12 +02:00
Florian Queze
37ff4fc7cc Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Sebastian Hengst
a07223d699 Backed out changeset 322fde2d53bf (bug 1356569) so bug 1355161 can be backed out. r=backout 2017-04-14 23:39:22 +02:00
Florian Queze
95d4d20c17 Bug 1356569 - Remove addObserver's last parameter when it is false, r=jaws. 2017-04-14 21:51:38 +02:00
Jan Henning
6d4628844f Bug 1265818 - Part 3 - Store and restore the LayoutHistoryState through SessionHistoy.jsm. r=mikedeboer
Since a LayoutHistoryState is basically just a collection of PresStates, we just save each PresState we can find and then later restore it.

MozReview-Commit-ID: A6WpdelseHn

--HG--
extra : rebase_source : 21c2929ed64ff5ef046ea65664af78cdad517786
2017-03-25 15:32:36 +01:00
Mike Conley
132aa6c7f2 Bug 1348613 - Only use sync message for SessionStore:restoreHistoryComplete for non-remote tabs. r=mikedeboer
MozReview-Commit-ID: IuOtKpudDTU

--HG--
extra : rebase_source : 9cd70dd4d6bd2807742e2e84da0c4cc7cc2a2f35
2017-03-27 12:56:38 -04:00
Mike Conley
3715be2910 Bug 1348613 - Make SessionStore:restoreTabContentStarted message always async. r=mikedeboer
MozReview-Commit-ID: 8TwPFUbXluW

--HG--
extra : rebase_source : b450809f61d7acb4e83788895bc77adafabfde86
2017-03-27 12:15:50 -04:00
Mike Conley
6b9cc68a36 Bug 1256472 - Add a reason to the restoreTabContent function and message. r=Gijs,mikedeboer
This helps differentiate restorations that were caused by navigateAndRestore, as opposed
to SessionStore having set state via setBrowserState, setWindowState, or setTabState.

MozReview-Commit-ID: DEEbKLh7f7p

--HG--
extra : rebase_source : c48ab225d17128041ccbde4e5cc8c87899166b9e
2017-03-14 09:55:54 -04:00
Sebastian Hengst
fa3375c4ed Backed out changeset ba60dcd190ad (bug 1256472) for leaks in browser_windowStateContainer.js. r=backout 2017-03-16 17:24:01 +01:00
Mike Conley
9ce53ecd28 Bug 1256472 - Add a reason to the restoreTabContent function and message. r=Gijs,mikedeboer
This helps differentiate restorations that were caused by navigateAndRestore, as opposed
to SessionStore having set state via setBrowserState, setWindowState, or setTabState.

MozReview-Commit-ID: DEEbKLh7f7p

--HG--
extra : rebase_source : 7fa68acf1ffd85f28af2be9c00f2ef65b21375f6
2017-03-14 09:55:54 -04:00
Mark Banner
c26710ebe4 Bug 1311347 - Enable eslint of browser/components/sessionstore/. Manual fixes. r=jaws
MozReview-Commit-ID: AupJNLZJ2Ye

--HG--
extra : rebase_source : b9113d1ca913d399ca4e831f3c381e8fa45847bd
2017-03-13 10:32:03 +00:00
Mark Banner
4acba13973 Bug 1311347 - Enable eslint of browser/components/sessionstore/. Autofix changes. r=jaws
MozReview-Commit-ID: 5LKHbcmjSy

--HG--
extra : rebase_source : d7e4571dae5c5770c7908579d7634419382d78e2
2017-03-10 19:51:20 +00:00
jordan9769
5761e9b0d1 Bug 1311347 - Enable eslint of browser/components/sessionstore/. Initial changes by Sourav, updated by Standard8. r=jaws
MozReview-Commit-ID: 4RFxoV8SkIa

--HG--
extra : rebase_source : 96b24b172cfa957489df37943171ddae07145e84
2016-10-28 02:48:50 +05:30
Jan Henning
5e22220b1b Bug 1340828 - Part 1 - Move SessionHistory.jsm to toolkit. r=mikedeboer
We want to use this for Android, too. Once again, moving the file necessitates fixing a few ESLint errors that weren't yet checked for under the old directory.

MozReview-Commit-ID: IPxcizKwzAX

--HG--
rename : browser/components/sessionstore/SessionHistory.jsm => toolkit/modules/sessionstore/SessionHistory.jsm
extra : rebase_source : 77a85942443026620c77508d6ccb405e0a9864ff
2017-02-18 20:54:09 +01:00
Florian Quèze
028a82f682 Bug 1329182 - remove trailing newURI null parameters in browser/, r=jaws. 2017-01-09 20:27:25 +01:00
Michael Layzell
054becaed7 Bug 1310771 - Part 3: Add support to SessionStore for recording history for GroupedSHistories, r=mikedeboer
MozReview-Commit-ID: Ffq7h3zRUm3
2016-11-18 16:00:43 -05:00
Dão Gottwald
a1816a5043 Bug 1287732 - Remove some event.target null checks. r=gijs 2016-07-19 18:20:13 +02:00
Pushpankar
c6670d980f Bug 1286854 - Replace ownerDocument.defaultView with ownerGlobal in browser/. r=dao
--HG--
extra : rebase_source : 72d50e73baf595840a2aade57ae782e4c40d4c27
2016-07-16 10:20:04 +02:00
Gijs Kruitbosch
939d620e96 Bug 1276117 - part 1: fix URL bar state when loading about:home after about:preferences, r=mikedeboer
MozReview-Commit-ID: D5ecLsiJF3R

--HG--
extra : rebase_source : e2182ab760cb052fb9e6996a3c9e948c6d67fd66
2016-05-27 14:06:02 +01:00
Gabor Krizsanits
e1127b3ff0 Bug 1262661 - part2: optimization on session storage and history messages. r=mconley 2016-05-23 12:15:15 +02:00
Gijs Kruitbosch
307e6f9842 Bug 1272317 - fix URL bar state when switching to a non-remote browser, r=mconley
MozReview-Commit-ID: 4dmgz6iHfdK

--HG--
extra : rebase_source : aa2df82eaa5e15aa75a5a4e4bbfdd04879c37d94
2016-05-16 22:36:35 +01:00
Timothy Guan-tin Chien
90df11d2e4 Bug 1153393 - Make session restore restores the scroll position of an about:reader page, r=gijs
MozReview-Commit-ID: 6smuca3vx5O

--HG--
extra : rebase_source : 2853cce414d538076cdc5b066cb05989ba996299
2016-05-07 12:31:21 +08:00
Gabor Krizsanits
fcb1f9c2d0 Bug 1262661 - clear the MessageQueue after send. r=mconley 2016-05-03 22:38:36 +02:00
Gijs Kruitbosch
1d863b1c09 Bug 1267289 - add more URL bar tests and fix issue with error pages, r=mikedeboer,mconley
This adds tests for issues brought up in bug 231393, bug 264610, bug 302575 and bug 1129564,
all of which fed into the current implementation of userTypedClear/userTypedValue. I intend
to move us away from userTypedClear, but I'm keen not to regress any of these issues, so
I'm adding automated tests to ensure that doesn't happen.

MozReview-Commit-ID: 1up2MIXzkzG

--HG--
extra : rebase_source : 4d37f13895b8c7e7aba5331664718582c6b2136c
2016-04-25 17:27:35 +01:00
Gijs Kruitbosch
b6a127aa5c Bug 1266475 - don't re-load about:blank when we're remoteness-switching anyway, r=mconley
MozReview-Commit-ID: HwPrmjzCxHq

--HG--
extra : rebase_source : 0526ffa60cc63cad9aaaa16b0f0bf2faa69234f2
extra : amend_source : 5a0135c6daf192d12dd1b24570a33ea6afb29310
2016-04-21 17:55:42 +01:00
Mike Conley
9b79809916 Bug 1261657 - Don't record SSTabRestored events in StartupPerformance that are the result of a remoteness flip. r=Yoric
MozReview-Commit-ID: 2pnT2DdKPHV

--HG--
extra : rebase_source : f64f2007b7738c259996402a722b3a9bfcab5e0d
2016-04-03 00:30:14 -04:00
Mike Conley
044d8bca6b Bug 1195295 - Remove SessionStore's SyncHandler since all tab and window flushing is now async. r=ttaubert
MozReview-Commit-ID: 5UrQj1UUKDE

--HG--
extra : rebase_source : 0b2f5ebb954603bfe6a800ff0d6100be5a2dfbb2
2015-12-01 14:34:25 -05:00
Mike Conley
31dbaf7d90 Bug 1245212 - Properly cancel SessionStore:update message timers if timeoutDisabled is set to true. r=billm
MozReview-Commit-ID: BjiumfIOrdT

--HG--
extra : rebase_source : 08492d1bdbd132ffe25f14c62fbe6b8510e55d73
2016-02-01 16:00:29 -05:00
Mike Conley
88150e630a Bug 1231422 - Fix busted pref observer for browser.sessionstore.debug.no_auto_updates. r=billm
--HG--
extra : rebase_source : 79ebfe3ff54d62a3f24f1eedfdd24f3682c29291
2016-01-22 11:43:49 -05:00
Andrew McCreight
0f12a580d4 Backed out changeset 18eec0849a1f (Bug 1195295) for leaking.
This changeset is causing shutdown leaks (bug 1234697 and bug 1220517).
2015-12-23 15:59:15 -05:00
Mike Conley
f2127e9ebb Bug 1195295 - Remove SessionStore's SyncHandler since all tab and window flushing is now async. r=ttaubert
--HG--
extra : commitid : 20kUFlNpMz6
extra : rebase_source : 89f89eea235b8a68f6c76e3324909be7d7da0ede
2015-12-01 14:34:25 -05:00
Mike Conley
51e9466a0f Bug 1226333 - Add tests for async window flushing. r=billm.
--HG--
extra : commitid : 9ji0WXf0vH0
extra : rebase_source : 31ffb2e4df2cf6f4e3902fb4504fae2984dee55a
2015-12-02 09:46:06 -05:00
David Rajchenbach-Teller
d9df20222c Bug 1216250 - Limit amount of DOM Storage data stored by Session Restore. r=ttaubert
DOM Storage is a pretty inefficient and memory-hungry storage mechanism. Session Store attempts to record DOM Storage for each tab, which leads to (possibly very large) objects being serialized once to be sent from frame/content to parent and once to be sent from the main thread to the I/O thread. This is a suspect behind a number of crashes (see bug 1106264 for a discussion on the topic).

This patch limits the amount of DOM Storage that Session Restore attempts to store. We perform a quick estimate on the amount of memory needed to serialize DOM Storage and prevent storage larger than ~10M chars being sent from frame/content to the parent. Once this patch has landed, we will need to watch FX_SESSION_RESTORE_DOM_STORAGE_SIZE_ESTIMATE_CHARS to find out whether our threshold is meaningful.

--HG--
extra : transplant_source : %26%07%ADzjT%A9%E3%B9%B9%EC%9D%97n%23%B5%F2%DAZ%CD
2015-10-20 14:15:17 +02:00
David Rajchenbach-Teller
8292b78498 Bug 1214408 - Telemetry on SessionStore:update OOM;r=ttaubert
--HG--
extra : transplant_source : %3A%DB%3Cp%8Fj%24%CF%94%E9%5C%AA%17%0E%2C%03E%23%A2%98
2015-10-16 21:44:54 +02:00
Boris Zbarsky
a63708d836 Bug 1212360. Split up the MozStorageChanged event into separate events for sessionstorage and localstorage. r=khuey 2015-10-09 16:48:10 -04:00
Shu-yu Guo
64db2267cf Bug 1202902 - Mass replace toplevel 'let' with 'var' in preparation for global lexical scope. (rs=jorendorff) 2015-09-15 11:19:45 -07:00
Tim Taubert
cfc376cc2c Bug 1169892 - Avoid extra round-trip when a pending tab is reloaded r=billm 2015-05-30 10:13:52 +02:00
Tim Taubert
9c05c58af3 Bug 1162871 - Introduce the TabStateFlusher for async flushing r=billm 2015-05-08 10:59:38 +02:00
Tim Taubert
0fadc88345 Bug 1161928 - Require an epoch (managed in the parent) included in every message sent by the frame script to get rid of TabState.flush() calls in restoreTab() r=billm 2015-05-06 15:06:29 +02:00
Tim Taubert
e974683386 Bug 1161928 - Move epoch handling from ContentRestore.jsm to content-sessionStore.js r=billm 2015-05-06 11:55:20 +02:00
Tim Taubert
83df001bfd Bug 1160556 - Recollect session history data when the page title changes r=Gijs 2015-05-05 16:00:12 +02:00
Tim Taubert
cf32aa59d3 Bug 1109875 - When unloading a frameLoader flush all pending state changes by sending a final update message r=billm 2015-04-29 07:13:29 +02:00
Bill McCloskey
3856bd0f73 Bug 1056443 - Use correct URL in location bar when switching processes (r=ttaubert) 2015-04-15 10:09:49 -07:00
Tim Taubert
ba18194432 Bug 1145942 - Use the frame message manager to revive crashed tabs upon navigation r=billm 2015-03-21 08:20:28 +01:00
Bill McCloskey
1185a0673f Bug 1126089 - Use async messages for crash revival (r=ttaubert) 2015-03-19 06:47:30 -07:00