Commit graph

2249 commits

Author SHA1 Message Date
Axel Hecht
5bdc727943 Bug 721211: consolidate home page retrieval code, make it support non-localized prefs, r=jaws
Also changes the tooltip on the home button to be independent of the URLs
it opens, per dolske.

Some tests explicitly set browser.startup.homepage, but only through
SpecialPowers.putPrefEnv. That's a good compromise, given the extra
functionality there.

MozReview-Commit-ID: FPLxzi3jQAP

--HG--
extra : rebase_source : c2b014f2fb1c78ce04859344bd1803ef48d5d68d
2018-05-28 12:38:01 +02:00
Dave Townsend
d8b7fb22e3 Bug 1453751: Load favicons in the content process. r=mak, r=gijs, r=aswan, r=mixedpuppy
Summary:
This moves the load of favicons into the content process. We use the same logic
for finding favicons (based on waiting until none have shown up for a short
time) but then load the favicon and convert it to a data uri which we then
dispatch to the parent process. Along the way this fixes asssociating the load
with the tab for WebExtension and devtools, fixes CSP usage for the load, fixes
expiry detection of the favicon and stops us from loading the same resource
twice.

This change also merges the prefs browser.chrome.site_icons and
browser.chrome.favicons leaving just the former controlling favicon loading. It
adds the pref browser.chrome.guess_favicon to allow disabling guessing where
a favicon might be located for a site (at <hostname>/favicon.ico). This is
mainly to allow disabling this in tests where those additional yet automatic
requests are uninteresting for the test.

There are multiple clean-ups that can follow this but this is a first step along
that path.

MozReview-Commit-ID: E0Cs59UnxaF

Reviewers: mak

Tags: #secure-revision

Bug #: 1453751

Differential Revision: https://phabricator.services.mozilla.com/D1672
Differential Revision: https://phabricator.services.mozilla.com/D1673
Differential Revision: https://phabricator.services.mozilla.com/D1674
Differential Revision: https://phabricator.services.mozilla.com/D1850
Differential Revision: https://phabricator.services.mozilla.com/D1869

--HG--
rename : browser/base/content/test/general/browser_bug408415.js => browser/base/content/test/favicons/browser_bug408415.js
rename : browser/base/content/test/general/browser_bug550565.js => browser/base/content/test/favicons/browser_bug550565.js
rename : browser/base/content/test/general/browser_favicon_change.js => browser/base/content/test/favicons/browser_favicon_change.js
rename : browser/base/content/test/general/browser_favicon_change_not_in_document.js => browser/base/content/test/favicons/browser_favicon_change_not_in_document.js
rename : browser/base/content/test/general/browser_subframe_favicons_not_used.js => browser/base/content/test/favicons/browser_subframe_favicons_not_used.js
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_bug970276_favicon1.ico
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_bug970276_favicon2.ico
rename : browser/base/content/test/general/file_bug970276_popup1.html => browser/base/content/test/favicons/file_bug970276_popup1.html
rename : browser/base/content/test/general/file_bug970276_popup2.html => browser/base/content/test/favicons/file_bug970276_popup2.html
rename : browser/base/content/test/general/file_favicon_change.html => browser/base/content/test/favicons/file_favicon_change.html
rename : browser/base/content/test/general/file_favicon_change_not_in_document.html => browser/base/content/test/favicons/file_favicon_change_not_in_document.html
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_generic_favicon.ico
rename : browser/base/content/test/general/file_with_favicon.html => browser/base/content/test/favicons/file_with_favicon.html
extra : rebase_source : 6372b2681a59d267f966e9fa2ca9a54e3ff0cea0
extra : intermediate-source : b11aa832c41ac5beef9065f804d11fb7c9887990
extra : source : 638eb8a41245f6d9932861afda21edd5e0b2618a
2018-06-28 16:06:09 -07:00
Brindusan Cristian
51f77cdfc4 Backed out changeset b11aa832c41a (bug 1453751) for Mochitest-15 failures in toolkit/components/extensions/test/mochitest/test_ext_webrequest_filter.html. CLOSED TREE
--HG--
rename : browser/base/content/test/favicons/browser_bug408415.js => browser/base/content/test/general/browser_bug408415.js
rename : browser/base/content/test/favicons/browser_bug550565.js => browser/base/content/test/general/browser_bug550565.js
rename : browser/base/content/test/favicons/browser_favicon_change.js => browser/base/content/test/general/browser_favicon_change.js
rename : browser/base/content/test/favicons/browser_favicon_change_not_in_document.js => browser/base/content/test/general/browser_favicon_change_not_in_document.js
rename : browser/base/content/test/favicons/browser_subframe_favicons_not_used.js => browser/base/content/test/general/browser_subframe_favicons_not_used.js
rename : browser/base/content/test/favicons/file_generic_favicon.ico => browser/base/content/test/general/file_bug970276_favicon1.ico
rename : browser/base/content/test/favicons/file_bug970276_popup1.html => browser/base/content/test/general/file_bug970276_popup1.html
rename : browser/base/content/test/favicons/file_bug970276_popup2.html => browser/base/content/test/general/file_bug970276_popup2.html
rename : browser/base/content/test/favicons/file_favicon_change.html => browser/base/content/test/general/file_favicon_change.html
rename : browser/base/content/test/favicons/file_favicon_change_not_in_document.html => browser/base/content/test/general/file_favicon_change_not_in_document.html
rename : browser/base/content/test/favicons/file_with_favicon.html => browser/base/content/test/general/file_with_favicon.html
2018-06-28 23:15:49 +03:00
Dave Townsend
ae4e60478a Bug 1453751: Load favicons in the content process. r=mak, r=gijs, r=aswan
Summary:
This moves the load of favicons into the content process. We use the same logic
for finding favicons (based on waiting until none have shown up for a short
time) but then load the favicon and convert it to a data uri which we then
dispatch to the parent process. Along the way this fixes asssociating the load
with the tab for WebExtension and devtools, fixes CSP usage for the load, fixes
expiry detection of the favicon and stops us from loading the same resource
twice.

This change also merges the prefs browser.chrome.site_icons and
browser.chrome.favicons leaving just the former controlling favicon loading. It
adds the pref browser.chrome.guess_favicon to allow disabling guessing where
a favicon might be located for a site (at <hostname>/favicon.ico). This is
mainly to allow disabling this in tests where those additional yet automatic
requests are uninteresting for the test.

There are multiple clean-ups that can follow this but this is a first step along
that path.

MozReview-Commit-ID: E0Cs59UnxaF

Reviewers: mak

Tags: #secure-revision

Bug #: 1453751

Differential Revision: https://phabricator.services.mozilla.com/D1672
Differential Revision: https://phabricator.services.mozilla.com/D1673
Differential Revision: https://phabricator.services.mozilla.com/D1674
Differential Revision: https://phabricator.services.mozilla.com/D1850

--HG--
rename : browser/base/content/test/general/browser_bug408415.js => browser/base/content/test/favicons/browser_bug408415.js
rename : browser/base/content/test/general/browser_bug550565.js => browser/base/content/test/favicons/browser_bug550565.js
rename : browser/base/content/test/general/browser_favicon_change.js => browser/base/content/test/favicons/browser_favicon_change.js
rename : browser/base/content/test/general/browser_favicon_change_not_in_document.js => browser/base/content/test/favicons/browser_favicon_change_not_in_document.js
rename : browser/base/content/test/general/browser_subframe_favicons_not_used.js => browser/base/content/test/favicons/browser_subframe_favicons_not_used.js
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_bug970276_favicon1.ico
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_bug970276_favicon2.ico
rename : browser/base/content/test/general/file_bug970276_popup1.html => browser/base/content/test/favicons/file_bug970276_popup1.html
rename : browser/base/content/test/general/file_bug970276_popup2.html => browser/base/content/test/favicons/file_bug970276_popup2.html
rename : browser/base/content/test/general/file_favicon_change.html => browser/base/content/test/favicons/file_favicon_change.html
rename : browser/base/content/test/general/file_favicon_change_not_in_document.html => browser/base/content/test/favicons/file_favicon_change_not_in_document.html
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_generic_favicon.ico
rename : browser/base/content/test/general/file_with_favicon.html => browser/base/content/test/favicons/file_with_favicon.html
extra : rebase_source : 1e72949e4e1012025ccf87642cc239ea5f15217d
extra : source : 638eb8a41245f6d9932861afda21edd5e0b2618a
2018-06-04 12:53:55 -07:00
Cosmin Sabou
eb4431c0f5 Backed out changeset 638eb8a41245 (bug 1453751) for frequent linux debug e-10s failures on test_ext_webrequest_filter.html
--HG--
rename : browser/base/content/test/favicons/browser_bug408415.js => browser/base/content/test/general/browser_bug408415.js
rename : browser/base/content/test/favicons/browser_bug550565.js => browser/base/content/test/general/browser_bug550565.js
rename : browser/base/content/test/favicons/browser_favicon_change.js => browser/base/content/test/general/browser_favicon_change.js
rename : browser/base/content/test/favicons/browser_favicon_change_not_in_document.js => browser/base/content/test/general/browser_favicon_change_not_in_document.js
rename : browser/base/content/test/favicons/browser_subframe_favicons_not_used.js => browser/base/content/test/general/browser_subframe_favicons_not_used.js
rename : browser/base/content/test/favicons/file_generic_favicon.ico => browser/base/content/test/general/file_bug970276_favicon1.ico
rename : browser/base/content/test/favicons/file_bug970276_popup1.html => browser/base/content/test/general/file_bug970276_popup1.html
rename : browser/base/content/test/favicons/file_bug970276_popup2.html => browser/base/content/test/general/file_bug970276_popup2.html
rename : browser/base/content/test/favicons/file_favicon_change.html => browser/base/content/test/general/file_favicon_change.html
rename : browser/base/content/test/favicons/file_favicon_change_not_in_document.html => browser/base/content/test/general/file_favicon_change_not_in_document.html
rename : browser/base/content/test/favicons/file_with_favicon.html => browser/base/content/test/general/file_with_favicon.html
extra : rebase_source : 77bf32209022e0351c2a3b69affaac4cf33aa9a6
2018-06-26 07:29:35 +03:00
Dave Townsend
9cbfdc7c2d Bug 1453751: Load favicons in the content process. r=mak, r=gijs, r=aswan
Summary:
This moves the load of favicons into the content process. We use the same logic
for finding favicons (based on waiting until none have shown up for a short
time) but then load the favicon and convert it to a data uri which we then
dispatch to the parent process. Along the way this fixes asssociating the load
with the tab for WebExtension and devtools, fixes CSP usage for the load, fixes
expiry detection of the favicon and stops us from loading the same resource
twice.

This change also merges the prefs browser.chrome.site_icons and
browser.chrome.favicons leaving just the former controlling favicon loading. It
adds the pref browser.chrome.guess_favicon to allow disabling guessing where
a favicon might be located for a site (at <hostname>/favicon.ico). This is
mainly to allow disabling this in tests where those additional yet automatic
requests are uninteresting for the test.

There are multiple clean-ups that can follow this but this is a first step along
that path.

MozReview-Commit-ID: E0Cs59UnxaF

Reviewers: mak

Tags: #secure-revision

Bug #: 1453751

Differential Revision: https://phabricator.services.mozilla.com/D1672
Differential Revision: https://phabricator.services.mozilla.com/D1673
Differential Revision: https://phabricator.services.mozilla.com/D1674

--HG--
rename : browser/base/content/test/general/browser_bug408415.js => browser/base/content/test/favicons/browser_bug408415.js
rename : browser/base/content/test/general/browser_bug550565.js => browser/base/content/test/favicons/browser_bug550565.js
rename : browser/base/content/test/general/browser_favicon_change.js => browser/base/content/test/favicons/browser_favicon_change.js
rename : browser/base/content/test/general/browser_favicon_change_not_in_document.js => browser/base/content/test/favicons/browser_favicon_change_not_in_document.js
rename : browser/base/content/test/general/browser_subframe_favicons_not_used.js => browser/base/content/test/favicons/browser_subframe_favicons_not_used.js
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_bug970276_favicon1.ico
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_bug970276_favicon2.ico
rename : browser/base/content/test/general/file_bug970276_popup1.html => browser/base/content/test/favicons/file_bug970276_popup1.html
rename : browser/base/content/test/general/file_bug970276_popup2.html => browser/base/content/test/favicons/file_bug970276_popup2.html
rename : browser/base/content/test/general/file_favicon_change.html => browser/base/content/test/favicons/file_favicon_change.html
rename : browser/base/content/test/general/file_favicon_change_not_in_document.html => browser/base/content/test/favicons/file_favicon_change_not_in_document.html
rename : browser/base/content/test/general/file_bug970276_favicon1.ico => browser/base/content/test/favicons/file_generic_favicon.ico
rename : browser/base/content/test/general/file_with_favicon.html => browser/base/content/test/favicons/file_with_favicon.html
extra : rebase_source : 53dc0c682bf61d5135fbca172ac5238b414a1771
2018-06-04 12:53:55 -07:00
Shane Caraveo
0df4ab0a93 Bug 1422588 fix discard if tab sessionstate is not ready, r=Gijs,mikedeboer
If discard is used immediately after creating a tab, restoring the tab
resulted in an unusable tab.  This was due to the sessionstate not being
ready.  This adds enough sessionstate to restore when this occurs.

MozReview-Commit-ID: 6PIc71BS8VU

--HG--
extra : rebase_source : 1bb9627eee561e9bf924e9eb2a34a5071cae3742
2018-06-19 10:47:25 -04:00
Valentin Gosu
6444ab9d1e Bug 1389251 - Do not escape spaces in nsSimpleURI r=bz
This change makes nsEscape::T_EscapeURL not escape spaces when passed esc_OnlyNonASCII.
This fixes a web-compat issue for URLs such as "javascript: alert('hello');" and the fact that data: URIs with spaces around MIME type are rejected.

MozReview-Commit-ID: 91Qw9foW6Y3

--HG--
extra : rebase_source : 2da1b5f305ca2abcce2f9988cd6a5cbc12635c61
2018-06-18 15:06:24 +02:00
Dorel Luca
ba31c8c2b2 Backed out 3 changesets (bug 1389251) for browser-chrome failure on browser/base/content/test/pageinfo/browser_pageinfo_image_info.js. CLOSED TREE
Backed out changeset a76a3251a9d2 (bug 1389251)
Backed out changeset c6baebf7b34c (bug 1389251)
Backed out changeset 6e89a11ae28e (bug 1389251)
2018-06-15 06:18:04 +03:00
Dorel Luca
b53fbe3617 Merge mozilla-central to autoland 2018-06-15 05:43:31 +03:00
Valentin Gosu
01487f76fb Bug 1389251 - Do not escape spaces in nsSimpleURI r=bz
This change makes nsEscape::T_EscapeURL not escape spaces when passed esc_OnlyNonASCII.
This fixes a web-compat issue for URLs such as "javascript: alert('hello');" and the fact that data: URIs with spaces around MIME type are rejected.

MozReview-Commit-ID: B78AacLxGBp

--HG--
extra : rebase_source : fcef25fab58f7da1732725054ae684588f2e0e89
2018-06-12 03:03:57 +02:00
Adam Gashlin
31adaa0cb5 Bug 1466071: Part 2: Fix aborting flush on normal content shutdown. r=mikedeboer
--HG--
extra : histedit_source : 17acc6631f5be7e821ad59f85cde5a29d58fdb22
2018-06-08 15:16:16 -07:00
Joel Maher
50b91c0a14 Bug 1405428 - skip-if = verify on mochitests which do not pass test-verify. r=gbrown 2018-06-10 05:01:47 -04:00
Adam Gashlin
300eff4753 Bug 1458119: Part 1: Use idleDispatch to be independent from a content window. r=mikedeboer
When using content.requestIdleCallback(), the idle callback may not be
run by the time the content goes away, resulting in a missed send.
ChromeUtils.idleDispatch does not have this issue.

MozReview-Commit-ID: DdGMr6j80sZ

--HG--
extra : rebase_source : 8886a199416e5a526faf6a0895a71fdc9752d555
2018-05-27 11:21:49 -07:00
Boris Zbarsky
67d5a3d8ba Bug 1466727 part 1. Mark nsITreeColumn builtinclass. r=mossop
The only JS implementation seems to be in a test, and we can stop doing that.
2018-06-05 23:01:36 -04:00
Andrea Marchesini
eea87c177b Bug 1422365 - Introduce nsIClearDataService - part 8 - DOM Quota, r=johannh 2018-06-01 14:30:00 +02:00
Adam Gashlin
cfb0debdc5 Bug 603903 - Part 2: restore session when restarted by Windows r=mikedeboer
MozReview-Commit-ID: EEKZAZZ9E98

--HG--
extra : rebase_source : 4013e4c7e1ef1e24238cde84229efb5b5b62fde4
2018-05-15 18:28:08 -07:00
Mike de Boer
ca6f45143e Bug 1434252 - nsICookieService may throw an error in certain circumstances, so let's make SessionCookies::restore infallible. r=dao
Please see bug 1462402 for more details and the root cause.
SessionCookies.jsm uses nsICookieService::CookieExists and nsICookieService::Add
to restore session-cookies. These currently throw for hostnames that contain a
leading '.' and maybe other cases, so we need to wrap the calls in a try..catch
block to prevent breakage, leading to an unrestored session.

MozReview-Commit-ID: 9gZ7K6lwcQF

--HG--
extra : rebase_source : 0c1bff428225a78a30c83187c455277372efe7e5
2018-05-17 19:09:08 +02:00
Mark Banner
55d1e986ea Bug 1461997 - Enable ESLint rule mozilla/require-expected-throws-or-rejects for browser/components. r=Gijs
MozReview-Commit-ID: JXqwIyF6v6k

--HG--
extra : rebase_source : 2220610f8facc9096c4427ff543f5fc31e6ce7b0
2018-05-16 20:23:06 +01:00
Eliza Balazs
ce27aa1e78 Bug 1418627 - disable browser_524745.js on Windows 10 !ccov for frequent failures. r=jmaher 2018-05-16 00:31:00 +03:00
Chris Pearce
55364ffa5c Bug 1458383 - Don't session restore browser.mediaBlocked. r=mikedeboer
This is a backout of Bug 1347791 part 4; 49b533231388.

49b533231388 took the mediaBlocked attribute and stored it in session store,
and caused us to call browser.resumeMedia() or blockMedia() as appropriate
upon restore. We don't want to session restore whether tabs have had delay
playback start unblocked anymore, so remove the code that session stores
that attribute.

MozReview-Commit-ID: AkRVlufrUAK

--HG--
extra : rebase_source : 613619e2ec587b546cede7795b76b049258df9dd
2018-05-04 16:22:16 +12:00
Jan Henning
2b764766f6 Bug 1456391 - Part 7: Move PrivacyFilter to Toolkit. r=mikedeboer
Since we want to start collecting all form data through mapFrameTree on Fennec,
too, we need to change our filtering strategy for form data.
We can no longer bail out directly during the data collection loop and instead
have to filter the data after having collected all of it.

The easiest way to do that is to start using PrivacyFilter.filterFormData() on
Android as well.

MozReview-Commit-ID: GBos4Zn3l2U

--HG--
rename : browser/components/sessionstore/PrivacyFilter.jsm => toolkit/modules/sessionstore/PrivacyFilter.jsm
extra : rebase_source : 1c5dfce28716c82e3a237f6d559449cb904ae13a
2018-04-25 22:33:50 +02:00
Jan Henning
3dfb944b8d Bug 1456391 - Part 3: Use new mapFrameTree version on Desktop. r=mikedeboer
MozReview-Commit-ID: AUQXLPnO1CH

--HG--
extra : rebase_source : b1763d7faa2c8487fc23e038dd1417c230137288
2018-04-25 22:07:31 +02:00
Jan Henning
d81f066c59 Bug 1456391 - Part 1: Move nsISessionStoreUtils to Toolkit. r=Nika
We want to use forEachNonDynamicChildFrame() on Android as well.

MozReview-Commit-ID: E4sJa6gbyuq

--HG--
rename : browser/components/sessionstore/nsISessionStoreUtils.idl => toolkit/components/sessionstore/nsISessionStoreUtils.idl
rename : browser/components/sessionstore/nsSessionStoreUtils.cpp => toolkit/components/sessionstore/nsSessionStoreUtils.cpp
rename : browser/components/sessionstore/nsSessionStoreUtils.h => toolkit/components/sessionstore/nsSessionStoreUtils.h
extra : rebase_source : 97e0b74042ff8d9a6b4cb4b609546aab9d58a834
2018-04-24 21:52:46 +02:00
Adrian Wielgosik
8c66c095f4 Bug 1418078 - Convert JS users of nsIDOMHTMLInputElement. r=bz
MozReview-Commit-ID: 55aIiNHS0xs

--HG--
extra : rebase_source : cacb9fc29daa5d620d4a0cd6ab3f09cde765036f
2018-04-18 22:29:50 +02:00
Kris Maglione
a259026c9d Bug 1456035: Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI. r=mccr8
This also removes any redundant Ci.nsISupports elements in the interface
lists.

This was done using the following script:

acecb401b7/processors/chromeutils-generateQI.jsm

MozReview-Commit-ID: AIx10P8GpZY

--HG--
extra : rebase_source : a29c07530586dc18ba040f19215475ac20fcfb3b
2018-04-22 20:55:06 -07:00
Kris Maglione
a7b308c3a2 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

--HG--
extra : rebase_source : cffb1c9762191c579d1397c8169e6e7635d229da
extra : histedit_source : dea59ddd2daaae52069c5faceae9149a4f08dd73
2018-04-24 20:18:09 -07:00
Dão Gottwald
1dd6ba95b7 Bug 1410591 - Focus the content area when restoring the selected tab. r=mikedeboer 2018-04-23 19:13:58 +02:00
Boris Zbarsky
72f940dafe Bug 1429903 part 2. Stop using nsIDOMEventTarget in xpidl. r=mccr8
MozReview-Commit-ID: HQw7TyJUapY
2018-04-20 00:49:30 -04:00
Boris Zbarsky
01d792d54e Bug 1455055 part 7. Clean up remaining HandleEvent implementations. r=masayuki
MozReview-Commit-ID: LezJYKK74H5
2018-04-20 00:49:30 -04:00
Boris Zbarsky
2b6097ae6d Bug 1455055 part 1. Convert nsIDOMEventListener to taking an Event, not an nsIDOMEvent. r=masayuki
This does no cleanup other than what's needed to compile.  Cleanup coming up in
later patches.

MozReview-Commit-ID: 3sOnkj71n09
2018-04-20 00:49:29 -04:00
Mike de Boer
c17c10e2e3 Bug 1034036 - Part 7: Test that we stored window z-indices correctly and in order of creation. Ensure that we restore windows in reverse z-index order. r=dao
MozReview-Commit-ID: 6z1zHUKDf9

--HG--
extra : rebase_source : 9762ecc610c725028b84258bddcfb3a13a1c4324
2018-04-11 12:06:16 +02:00
Mike de Boer
6ee4299e04 Bug 1034036 - Part 6: Tests that use ss.setBrowserState() or ss.setWindowState() should wait until the window is restored to continue. r=dao
MozReview-Commit-ID: 5d1E5TjKnIR

--HG--
extra : rebase_source : be521af44edeae3f218602b4e279cfeb17ae866f
2018-04-11 12:06:12 +02:00
Mike de Boer
385fb6df30 Bug 1034036 - Part 5: restore windows in reverse z-order, so that the last focused window is restored first and stays in front. r=dao
MozReview-Commit-ID: 22OIFutLgmx

--HG--
extra : rebase_source : e91aafd4244caa84af0fcc895af267199ed6501c
2018-04-11 12:06:09 +02:00
Mike de Boer
781f548ab2 Bug 1034036 - Part 4: move away from keeping state on the living objects, like windows, tabs and browsers, but keep it truly privately stored in WeakMaps. r=dao
NOTE: The '__SSi' and '__SS_lastSessionWindowID' properties on windows are kept,
      because they are expected to stick around longer during application shutdown.

The benefits is are:
1. Cleaner code - Sessionstore implementation details are not leaked outside its
   module.
2. Observing the lifetime of objects becomes unnecessary, because the WeakMaps are
   cleaned up when objects are GC'd, making leakage of their references impossible
   and Sessionstore can't hold objects hostage anymore.
3. Simplification - all state is now maintained in SessionStore.jsm, which allows
   for additional refactoring later on to simplify the implementation further.

MozReview-Commit-ID: C1II8qHkQ6F

--HG--
extra : rebase_source : e5fc6984558bd455a33e275f7060d42c93c21720
2018-04-11 12:06:06 +02:00
Mike de Boer
ecf63670d4 Bug 1034036 - Part 2: Rename and shorten getMostRecentBrowserWindow to getTopWindow and modernize the style used in BrowserWindowTracker.jsm. r=dao
MozReview-Commit-ID: EvgAhq4uR3a

--HG--
extra : rebase_source : 8fd8040cd1eee94675d4e9ca0c8ccc60db9e1bf7
2018-04-11 12:05:59 +02:00
Mike de Boer
d16ee58ded Bug 1034036 - Part 1: Merge RecentWindow.jsm and UpdateTopLevelContentWindowIDHelper.jsm into one module called 'BrowserWindowTracker.jsm'. r=dao
MozReview-Commit-ID: 9qzq1aGvjDu

--HG--
rename : browser/modules/UpdateTopLevelContentWindowIDHelper.jsm => browser/modules/BrowserWindowTracker.jsm
extra : rebase_source : 9c4a728e13fd691d377e7f221c5632646115daca
2018-04-11 12:05:56 +02:00
Boris Zbarsky
35ef0df4d4 Bug 1453487 part 1. Stop using XPCWrappedNative for nsIDOMEventListener. r=smaug
MozReview-Commit-ID: Es4fEdGDzbx
2018-04-12 00:05:38 -04:00
Boris Zbarsky
b43b5abed4 Bug 1453345 part 5. Remove pointless JS implemenations of QI to nsIDOMEventListener. r=smaug
MozReview-Commit-ID: Db0v6GZ0deo
2018-04-12 00:03:45 -04:00
Boris Zbarsky
05a68eb365 Bug 1453345 part 1. Switch session storage content scripts to not rely on XPCWrappedJS implementing nsIDOMEventListener. r=smaug
MozReview-Commit-ID: LPYKxngcXJw
2018-04-12 00:03:44 -04:00
Nika Layzell
4464c02334 Bug 1434768 - Part 3: Rewrite JS consumers of .sessionHistory, r=bz 2018-04-10 17:49:45 -04:00
Jonathan Kingston
ff73ac0338 Bug 1374741 - Within browser/ make openUILinkIn() provide the correct triggeringPrincipal. r=gijs
MozReview-Commit-ID: 1NQrlWzIBja

--HG--
extra : rebase_source : 29d337e111d82e9c5729b5a59e1a16d06e67774c
2018-02-21 14:28:48 +00:00
Tooru Fujisawa
bc1ed58f7a Bug 1448531 - Part 2: Make BrowserTestUtils.waitForNewWindow receive parameters object. r=enndeakin 2018-04-10 12:18:35 +09:00
Xidorn Quan
88729f16df Bug 1446343 part 2 - Convert size attributes to outer size for sessionstore. r=mikedeboer
MozReview-Commit-ID: FS6yrGggD7o

--HG--
extra : rebase_source : c4b5c404292dd2c70d2c2933cdd429e903012143
2018-04-06 15:01:04 +10:00
Dão Gottwald
f8110c1b6a Bug 1451709 - Remove code for the "Restore Tabs From Last Time" button in the tab bar. r=mikedeboer
MozReview-Commit-ID: JMmkE6axBBK

--HG--
extra : rebase_source : 2449c9fd6fe8f59280dbdfe5a1a55bcd2867a665
2018-04-05 14:02:55 +02:00
Dão Gottwald
bf9d434a13 Bug 1450559 - Remove nsISessionStore in favor of SessionStore.jsm. r=mikedeboer
MozReview-Commit-ID: 8spvIOus9ai

--HG--
rename : browser/components/sessionstore/nsSessionStore.manifest => browser/components/sessionstore/nsSessionStartup.manifest
extra : rebase_source : fc353af87bd620b7039d3e6241cc60c3788e3da6
2018-04-05 16:30:48 +02:00
Shane Caraveo
f01bca68ca Bug 1344749 followup fix for session restore when using insertAfterCurrent and intermittent test failure, r=dao
Relying on this._browserSetState was incorrect as that is only set via tests.  It needs to be always true so session restore works in the right order.

The lazy restore is fine in the test, and avoids the about:blank intermittent (or at least makes it much much harder to reproduce on my linux vm).
2018-04-04 09:23:32 -05:00
Manish Kumar
ca80552b9f Bug 1446719 - Rename getTabValue / setTabValue / deleteTabValue to getCustomTabValue / setCustomTabValue / deleteCustomTabValue. r=dao
--HG--
extra : rebase_source : 4d1ee61af6b01c58c07aa8e09d125959b62dcc75
2018-04-01 16:05:34 +02:00
Andreea Pavel
afdd07f3e2 Backed out changeset f80a1b8f781b (bug 1446719) for failing browser chrome at browser/components/sessionstore/test/browser_350525.js on a CLOSED TREE 2018-04-01 16:16:09 +03:00
Manish Kumar
6887194f83 Bug 1446719 - Rename getTabValue / setTabValue / deleteTabValue to getCustomTabValue / setCustomTabValue / deleteCustomTabValue. r=dao 2018-04-01 11:15:54 +02:00