Commit graph

174 commits

Author SHA1 Message Date
Sebastian Hengst
ee40c4ef0a Backed out changeset 865501b808e3 (bug 1287330) for frequent timeouts in browser_async_remove_tab.js with e10s on Linux debug. r=backout 2016-08-21 16:45:16 +02:00
Allasso Travesser
a436068793 Bug 1287330 - Insert tabs' linkedBrowser lazily into the document. r=dao 2016-08-19 17:46:04 +02:00
Dão Gottwald
7112aaf595 Bug 1292542 - Remove unused 'window' variable in SessionStoreInternal._resetLocalTabRestoringState. r=dao
--HG--
extra : rebase_source : 5d55d995ebab845803ece6d3ee03b22c0efc02cb
2016-08-16 20:36:31 +02:00
Wes Kocher
2253eb9510 Merge m-c to inbound, a=merge 2016-08-15 14:53:49 -07:00
Mike Conley
bb89bb5f47 Bug 1290280 - Improve the logic for flipping the remoteness of the initial browser back to non-remote. r=mikedeboer
The code that checks to see whether or not we should flip the remoteness of a browser
before loading the session state into it wasn't accounting for the fact that oftentimes,
restoreImmediately isn't included, so it's undefined, which coerces to "false-y".

This caused us to very quickly destroy a TabParent, very soon after creating it. In
some cases, the IPC layer seems to not like that, and throws an OnChannelError,
which causes the TabParent ActorDestroy method to be called with an abnormal
shutdown reason, which causes the tab crash observer to fire, which bubbles the
tab crash event.

We should probably make the IPC layer more resilient to this sort of thing, but
we should also probably not flip remoteness when we really don't need to.

Now instead, when restoring a tab, we detect whether or not it's going to
be restored automatically in the near future. If it's not going to be
restored automatically, and the browser is remote, we flip its remoteness -
otherwise we leave it alone.

MozReview-Commit-ID: 5AmPHvzDZlX

--HG--
extra : rebase_source : 0bfeb2cdb0c5849a65bc9a0855c6209d693e5ff4
2016-08-09 13:32:21 -04:00
Sebastian Hengst
0d0d1992db Backed out changeset 1e57110913fc (bug 1290280) for timeouts of added test and remoteness issues e.g. in cookie tests like browser_423132.js. r=backout 2016-08-13 15:27:48 +02:00
Mike Conley
f5ae3a058b Bug 1290280 - Improve the logic for flipping the remoteness of the initial browser back to non-remote. r=mikedeboer
The code that checks to see whether or not we should flip the remoteness of a browser
before loading the session state into it wasn't accounting for the fact that oftentimes,
restoreImmediately isn't included, so it's undefined, which coerces to "false-y".

This caused us to very quickly destroy a TabParent, very soon after creating it. In
some cases, the IPC layer seems to not like that, and throws an OnChannelError,
which causes the TabParent ActorDestroy method to be called with an abnormal
shutdown reason, which causes the tab crash observer to fire, which bubbles the
tab crash event.

We should probably make the IPC layer more resilient to this sort of thing, but
we should also probably not flip remoteness when we really don't need to.

Now instead, when restoring a tab, we detect whether or not it's going to
be restored automatically in the near future. If it's not going to be
restored automatically, and the browser is remote, we flip its remoteness -
otherwise we leave it alone.

MozReview-Commit-ID: 5AmPHvzDZlX

--HG--
extra : rebase_source : 9e152c2f1106eda76702bd3ed4cf48e9703e05c8
2016-08-09 13:32:21 -04:00
fiveNinePlusR
a4ddf79125 Bug 1289213 - Part 1: Add ability to duplicate tabs lazily from the session store. r=kmag 2016-08-01 16:35:52 -07:00
Wes Kocher
d58870a5c6 Backed out changeset 1c7f1b07be44 (bug 1290280) for failures in browser_remoteness_flip_on_restore.js a=backout
--HG--
extra : rebase_source : c343e11573398423d4506bbbfc0cb770c33ac46c
2016-08-11 14:43:09 -07:00
Mike Conley
7b43357ff4 Bug 1290280 - Improve the logic for flipping the remoteness of the initial browser back to non-remote. r=mikedeboer
The code that checks to see whether or not we should flip the remoteness of a browser
before loading the session state into it wasn't accounting for the fact that oftentimes,
restoreImmediately isn't included, so it's undefined, which coerces to "false-y".

This caused us to very quickly destroy a TabParent, very soon after creating it. In
some cases, the IPC layer seems to not like that, and throws an OnChannelError,
which causes the TabParent ActorDestroy method to be called with an abnormal
shutdown reason, which causes the tab crash observer to fire, which bubbles the
tab crash event.

We should probably make the IPC layer more resilient to this sort of thing, but
we should also probably not flip remoteness when we really don't need to.

Now instead, when restoring a tab, we detect whether or not it's going to
be restored automatically in the near future. If it's not going to be
restored automatically, and the browser is remote, we flip its remoteness -
otherwise we leave it alone.

MozReview-Commit-ID: 5AmPHvzDZlX

--HG--
extra : rebase_source : 9e152c2f1106eda76702bd3ed4cf48e9703e05c8
2016-08-09 13:32:21 -04:00
Carsten "Tomcat" Book
99002c6dcd merge fx-team to mozilla-central a=merge 2016-08-05 12:00:16 +02:00
Dão Gottwald
edec54dc91 Bug 1292095 - Implement SSWindowRestored event and use it instead of SSWindowStateReady for the Ctrl+Tab panel. r=mdeboer 2016-08-04 18:58:00 +02:00
Mike Conley
1bb234e764 Bug 1291860 - Don't flip remoteness of pinned tabs on session restore. r=mikedeboer
The initial browser of new windows starts remote now. When restoring a session,
if we're restoring content into the initial tab and it's going to be loaded
on demand, then we would flip it to non-remote so that it can't background crash.

We'd do this for pinned tabs too, which is silly, since pinned tabs load ASAP.

This patch causes us to skip the remoteness flip if the tab we're restoring
is pinned.

MozReview-Commit-ID: 9eQzfLADzlQ

--HG--
extra : rebase_source : 5a38290991540152392dcab8f3ae1b2dfa398506
2016-08-03 16:34:20 -04:00
Dão Gottwald
b3a935b435 Bug 1292049 - Prevent tab.lastAccessed from being set to a discrete value when the tab is selected. r=mdeboer
--HG--
extra : rebase_source : 6eecb2fab57870fc490b1d1d9881ef89654c74be
2016-08-04 14:41:15 +02:00
Dão Gottwald
1696c5c0ae Backed out changeset 510f0b4792de 2016-08-04 14:21:56 +02:00
Dão Gottwald
3ab8406d45 Bug 1292049 - Prevent tab.lastAccessed from being set to a discrete value when the tab is selected. r=mdeboer 2016-08-04 11:33:15 +02:00
Jonathan Hao
c80e63e7f2 Bug 1289571 - Set browser's userContextId before updateRemoteness in restoreTabContent. r=mikedeboer
--HG--
extra : rebase_source : 1406bf99fa1c03d8b99a7ede665736a72ee243f6
2016-07-28 23:54:00 +02:00
Mike Conley
13379af1e1 Bug 1261842 - When putting the initial tab into the restored background state, flip it to non-remote. r=mikedeboer
MozReview-Commit-ID: BX8XbYjJHGf

--HG--
extra : rebase_source : 5333e1a15e36aaea5e6e38ab7df5919e8cda3017
extra : source : 2a1acfd17baf3a269719c70cdd5b273e8b344b41
2016-06-03 14:12:21 -04: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
Allasso Travesser
f5545cdfb4 Bug 1285789 - Implement TabBrowserCreated event. r=dao
--HG--
extra : rebase_source : 23ce02dddc6e4be01ab034735df2b9ed0d3ac3a7
2016-07-15 16:10:27 +02:00
Mike Conley
d23a632b4a Bug 1284687 - Hide windows on shutdown while persisting session instead of closing them. r=billm
We were closing the windows before to improve perceived shutdown
performance, but we end up in a state where we're likely to miss
out on the last ~2 seconds of session activity for most tabs per
window. This is because we were removing the session update
message listeners and resolving the flush Promises once the
domwindowclosed notification fired for the window.

Hiding the window allows us to wait for the messages properly.

What's more, we weren't even collecting the window state after
we had flushed, so we have _always_ been missing (in the worst
case) about 2 seconds of session state per window. This addresses
that.

MozReview-Commit-ID: BEOIHV4EErf

--HG--
extra : rebase_source : a814098c0e3aa2224f5d38327c135aba986b4b80
2016-07-07 15:04:52 -04:00
Mike Conley
4a3ae90945 Bug 1271607 - Pinned tabs should not restore as non-remote. r=mikedeboer
App tabs load immediately, and so there's no point in causing the remoteness
flipping machinery to kick off by making the pinned tabs non-remote by default.

MozReview-Commit-ID: 48O2mJSHurr

--HG--
extra : rebase_source : 975137009468db697b20f1b05569bc7e0ec48534
2016-06-29 13:49:57 -04:00
Jonathan Kew
bd96cd4a6d Bug 1276516 - When restoring window positions from a saved session, allow the window bounds to extend a few pixels beyond the screen edges before deciding to override the saved position and force the window entirely within the screen's visible area. r=mikedeboer 2016-06-02 12:35:56 +01:00
Yoshi Huang
0f17c65a40 Bug 1274461 - Part 2: restore tabs should preserve userContextId. r=mikedeboer 2016-06-03 15:01:03 +08:00
Yoshi Huang
c4e888761f Bug 1274461 - Part 1: undoCloseTab should preserve userContextId. r=mikedeboer 2016-06-03 15:01:03 +08:00
Carsten "Tomcat" Book
cd94cb207b Merge mozilla-central to fx-team 2016-06-01 15:09:07 +02:00
Mike de Boer
037ad62636 Bug 1276884 - fix nits in TabAttributes.jsm and TabState.jsm. r=ttaubert 2016-06-01 14:48:18 +02:00
Phil Ringnalda
c92b028404 Back out changeset b3835efbf422 (bug 1257182) for failures in browser_restoreClosedTabs.js and browser_urlbarPrivateBrowsingWindowChange.js
CLOSED TREE
2016-05-23 19:36:08 -07:00
Blair McBride
8e0c022d99 Bug 1257182 - "Restore All Tabs" can fail when there are pre-existing tabs. r=dao
MozReview-Commit-ID: HZqflYBJfJy

--HG--
extra : transplant_source : jrAj%9D%E3i%F8%D7%D5%C5w%22%FF%9B%DA%01%E9%5B%DC
2016-05-24 12:19:31 +12: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
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
Yoshi Huang
96c3cbd91b Bug 1250063 - Part 1: Pass userContextId in duplicateTab. r=ttaubert 2016-05-17 19:49:09 +08:00
Gijs Kruitbosch
2226e6e2d2 Bug 1241085 - fix issues with about:newtab and other initial pages whose URIs now persist after session restore, r=mconley
MozReview-Commit-ID: BbzOSwFucf6

--HG--
extra : rebase_source : 0c09de4d9ffba52c2004f4bb649f83ee577f5b6f
2016-05-06 09:11:33 +01:00
Gijs Kruitbosch
1dacb1f12d Bug 1241085 - part 3: actually fix about:privatebrowsing clearing the URL bar, r=mconley
MozReview-Commit-ID: JB3GPKsfmTs

--HG--
extra : rebase_source : 02fd2e102829f2c4880b8166755d5d57083c880a
extra : source : b386e97721cfad7464829c88a1a0b8c42e75315c
2016-04-28 20:03:38 +01:00
Gijs Kruitbosch
b77685214e Bug 1241085 - part 2: rip out userTypedClear and replace it with more self-documenting stuff, r=mconley
userTypedClear was used for two cases:
1) to keep track of whether we were in the middle of a loadURI call. This use is replaced by inLoadURI, which is
more sane when using e10s (though it's hard to be precise there because we're sending all web navigation calls to
the content process and this introduces a degree of asynchronousness that we just have to live with...).
2) to keep track of whether we were between a network start and a corresponding network stop, and whether the user
typed since the load properly started. This is now tracked on a small object on the browser binding, which has
appropriately named method so we're not just incrementing some magic number but actually understand what
we're saying, and so the information we get out (did the user type since this load started or not?) makes sense.

Note that we're keeping userTypedClear in session store information in order to remain backwards compatible.
It becomes a simple boolean-stored-as-int (1 or 0) that indicates whether we quit/crashed/stopped while a load
was pending, or not.

MozReview-Commit-ID: 5NbmVueocC7

--HG--
extra : rebase_source : 55cd9f3513c0a985580957a5157d47853a8822bf
extra : source : 386b9c750bd2ed458112acd29eb72e4e1371af9d
2016-04-28 19:51:36 +01:00
Gijs Kruitbosch
3dc1902afe Backed out changesets b386e97721cf, 386b9c750bd2, 3c86861912bb (bug 1241085) because the about:newtab URI is now kept across sessions, a=backout-with-approval-from-ryanvm
MozReview-Commit-ID: EVv6M6x9F44

--HG--
extra : source : de5ab3fd7c7e5772cc323a6d998a3a94143c23b1
extra : amend_source : cf7abadb9a7dbb97aaa9665a3df5981ae3459bff
2016-05-05 17:45:58 +01:00
Gijs Kruitbosch
d9348654ed Bug 1241085 - part 3: actually fix about:privatebrowsing clearing the URL bar, r=mconley
MozReview-Commit-ID: JB3GPKsfmTs

--HG--
extra : rebase_source : adf877b86e0a3bc035e3c8bd460b5472997fb7cd
2016-04-28 20:03:38 +01:00
Gijs Kruitbosch
2f63110f3f Bug 1241085 - part 2: rip out userTypedClear and replace it with more self-documenting stuff, r=mconley
userTypedClear was used for two cases:
1) to keep track of whether we were in the middle of a loadURI call. This use is replaced by inLoadURI, which is
more sane when using e10s (though it's hard to be precise there because we're sending all web navigation calls to
the content process and this introduces a degree of asynchronousness that we just have to live with...).
2) to keep track of whether we were between a network start and a corresponding network stop, and whether the user
typed since the load properly started. This is now tracked on a small object on the browser binding, which has
appropriately named method so we're not just incrementing some magic number but actually understand what
we're saying, and so the information we get out (did the user type since this load started or not?) makes sense.

Note that we're keeping userTypedClear in session store information in order to remain backwards compatible.
It becomes a simple boolean-stored-as-int (1 or 0) that indicates whether we quit/crashed/stopped while a load
was pending, or not.

MozReview-Commit-ID: 5NbmVueocC7

--HG--
extra : rebase_source : f87199c77094c24c132e6c88f751a5b5d5aa62f9
2016-04-28 19:51:36 +01: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
Mike Conley
8a91920ae9 Bug 1260461 - Don't flush windows when shutting down due to a Windows log-out. r=jimm
MozReview-Commit-ID: 3WWgPTxzdcz

--HG--
extra : rebase_source : ffd5bc1a26e46244b42de9bc4d318dd43475b6e1
2016-04-01 17:15:37 -04: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
Jonathan Kew
885e886b1e Bug 1259707 - Fix confusion between desktop and CSS pixels when session-restore is constraining window to the available screen space. r=emk 2016-03-26 13:12:47 +00:00
Mike Conley
bd283d4230 Bug 1228652 - Check for window.closed after flushing messages in navigateAndRestore. r=mossop
MozReview-Commit-ID: 9Cgxg9A61O7

--HG--
extra : rebase_source : 719b990b7490175839c48bf2a74f40891b0ad2ed
2016-02-28 20:36:47 -05: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
Dão Gottwald
594c008fcb Bug 1014185 - Remove about:customizing and use about:blank for customize mode instead. r=jaws 2016-02-20 14:03:25 +01:00
Carsten "Tomcat" Book
cab348d1b5 Backed out changeset c34fe673bb97 (bug 1014185) for perma failures in browser_bug1163570.js 2016-02-19 17:19:19 +01:00
Dão Gottwald
4c8a1f54f5 Bug 1014185 - Remove about:customizing and use about:blank for customize mode instead. r=jaws 2016-02-19 00:50:17 +01:00
Allasso Travesser
5c444af069 Bug 1241837 - Use proxy for browsers property in tabbrowser instead of explicit array. r=dao
--HG--
extra : rebase_source : 9643b5b626b093e0c53d8463b216ad119f0a4e2f
2016-02-16 16:34:38 +01:00
Kris Maglione
1937bcbcae Bug 1244496: Add more detail to TabOpen/TabClose events for tabs moved between windows. r=Gijs
MozReview-Commit-ID: 9YHaVlMW0T6

--HG--
extra : rebase_source : 711c8a60e334fc3619ab9c915f7735c3729e7782
extra : histedit_source : 0399daf10a516f1595bdd5cc9a6964b5d4220117
2016-02-10 17:52:53 -08:00
Kris Maglione
3543ac46b0 Bug 1238311: Part 2 - Persist tab mutedInfo in sessionstore. r=ehsan
--HG--
extra : commitid : HX9K6Rabf3v
extra : rebase_source : 0cada35053441177863b89753e3c9a8968dc1908
extra : histedit_source : 07331d5b938d79c59dfd8789bb581e65f6a29d26
2016-01-26 17:05:42 -08:00