Commit Graph

818 Commits

Author SHA1 Message Date
Dave Townsend
e0d7c25a1e Bug 1472475: Properly clear the current favicon when navigating to a new URL. r=mak
In practice this is an easy fix, just clear the icon when the page first changes
to a new URL. In practice that breaks our hack for setting an early favicon for
certain in-content pages so we have to workaround that somewhat.

Differential Revision: https://phabricator.services.mozilla.com/D1909
2018-07-02 16:42:43 +00:00
Coroiu Cristina
72b3df5f72 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-06-30 01:00:54 +03:00
Dave Townsend
0f2c3bd648 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
2018-06-28 16:06:09 -07:00
Abdoulaye O. Ly
7c49799423 Bug 1458060 - Implement ability to pin/unpin a selection of tabs. r=jaws
MozReview-Commit-ID: Hqt8QrqQ62V
2018-06-23 18:07:48 +00:00
Brindusan Cristian
d94fd86e60 Backed out changeset b11aa832c41a (bug 1453751) for Mochitest-15 failures in toolkit/components/extensions/test/mochitest/test_ext_webrequest_filter.html. CLOSED TREE 2018-06-28 23:15:49 +03:00
Dave Townsend
ebc2c6ff75 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
2018-06-04 12:53:55 -07:00
Oriol Brufau
498a7b8c8c Bug 1465170 - Implement support for the 'highlighted' API for multiselect tabs with tabs.query r=jaws,mixedpuppy
MozReview-Commit-ID: 6eFnxrXJXXB
2018-06-03 02:53:59 +02:00
Gijs Kruitbosch
4fc43fb0a7 Bug 1438499 - show 'close multiple tabs' warning dialog when quitting, r=jaws,whimboo
MozReview-Commit-ID: J2gi9do8HK9
2018-06-13 09:34:52 -07:00
layely
8f86b7bb1c Bug 1458039 - Implement ability to mute/unmute a selection of tabs. r=jaws
MozReview-Commit-ID: 7aw08gxOOtk
2018-05-31 03:26:25 +00:00
layely
84900bd57e Bug 1467340 - Ctrl+w and Ctrl+f4 shortcuts close all selected tabs in multi-select context. r=jaws
MozReview-Commit-ID: AfrpuOKBfas
2018-06-07 13:36:17 +00:00
Bianca Danforth
43c4ff2368 Bug 1465694 - Add tab event telemetry for Savant Shield study; r=dao
These probes will register and record (for the duration of the study only):
* When a tab opens.
* When a tab closes.
* When a tab is selected.

MozReview-Commit-ID: BvknEH0ofS0
2018-06-06 03:44:48 -07:00
layely
5578b347e9 Bug 1458018 - Add style for multiselected tabs. r=jaws
MozReview-Commit-ID: Ead7pIfHBJP
2018-06-03 05:04:48 +00:00
Oriol Brufau
b818f7e84a Bug 1466678 - Store multiple selected tabs in a WeakSet instead of a WeakMap r=jaws
MozReview-Commit-ID: 3sfRtQruInF
2018-06-04 23:20:46 +02:00
Dão Gottwald
9296af7edb Bug 1465401 - setTabTitle shouldn't wrap data URI shortening in try/catch. r=jfkthame
MozReview-Commit-ID: Cgh1iahbpWQ
2018-05-30 13:44:31 +02:00
layely
3b701cd4b2 Bug 1458022 - Implement ability to close a selection of tabs. r=jaws
MozReview-Commit-ID: 4yjajKnONuK
2018-05-21 04:16:01 +00:00
Doug Thayer
e02569821b Bug 1176019 - Clear cached layers on location change r=mconley
To avoid a flash of stale content in the event of a slow tab
switch, we need to make sure we remove a tab from the cache if
its location changes while it's in the background.

MozReview-Commit-ID: ElpoWhhjb0n
2018-05-15 09:29:16 -07:00
Doug Thayer
db8bf8252e Bug 1176019 - Cache layers of background tabs r=mconley
We maintain a simple LRU cache of tab layers by setting their
docShellIsActive = false with preserveLayers(true). Once they
are pushed out of the cache by more recently used tabs, their
layers are discarded.

Luckily most of the complexity of this could be contained in
the AsyncTabSwitcher - the one change that had to sit outside of
that was moving the aTab.closing = true earlier in the removeTab
call, so that we could use that information to eagerly evict tabs
from the cache. This was to address a leak in a few tests on try.

MozReview-Commit-ID: 2E3uU8LEYkD
2018-04-16 15:35:41 -07:00
layely
374bd9bd10 Bug 1458013 - Add ability to select a range of tabs using Shift. r=jaws
MozReview-Commit-ID: DQxhkTEyRyq
2018-05-17 02:38:14 +00:00
Constantine Filin
08fe1f4879 Bug 1446721: replacing parent.removeChild(child) with simpler child.remove; r=dao
MozReview-Commit-ID: 3QUuiu3CVo5
2018-05-17 00:10:28 -07:00
Shane Caraveo
5186696d00 Bug 1458866 - Ensure sharingState is reset when the browser is discarded, r=Gijs
MozReview-Commit-ID: EgA66KNqzKY
2018-05-16 10:24:52 -05:00
Chris Pearce
35c33d46de 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
2018-05-04 16:22:16 +12:00
Erica Wright
d248a1d666 Bug 1448918 - Create about:welcome page in preparation for firstrun migration. r=dmose
MozReview-Commit-ID: L34uRsOeziS
2018-04-23 15:47:57 -04:00
Bogdan Tara
1a216b271d Backed out 3 changesets (bug 1176019) for frequently failing /builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/Maybe.h a=backout
Backed out changeset 2dd8b719d645 (bug 1176019)
Backed out changeset 9c6b0eb062ca (bug 1176019)
Backed out changeset 2d0dfc54128e (bug 1176019)
2018-05-11 17:07:19 +03:00
Doug Thayer
77552fc063 Bug 1176019 - Cache layers of background tabs r=mconley
We maintain a simple LRU cache of tab layers by setting their
docShellIsActive = false with preserveLayers(true). Once they
are pushed out of the cache by more recently used tabs, their
layers are discarded.

Luckily most of the complexity of this could be contained in
the AsyncTabSwitcher - the one change that had to sit outside of
that was moving the aTab.closing = true earlier in the removeTab
call, so that we could use that information to eagerly evict tabs
from the cache. This was to address a leak in a few tests on try.

MozReview-Commit-ID: 2E3uU8LEYkD
2018-04-16 15:35:41 -07:00
Dorel Luca
f72cffac0b Backed out 3 changesets (bug 1176019) for Browser-chrome failures on dom/plugins/test/mochitest/browser_tabswitchbetweenplugins.js. CLOSED TREE
Backed out changeset 31b295f557db (bug 1176019)
Backed out changeset 6c591b484a11 (bug 1176019)
Backed out changeset 3e7dbe6b5122 (bug 1176019)
2018-05-11 02:03:20 +03:00
Doug Thayer
fa09cd91e4 Bug 1176019 - Cache layers of background tabs r=mconley
We maintain a simple LRU cache of tab layers by setting their
docShellIsActive = false with preserveLayers(true). Once they
are pushed out of the cache by more recently used tabs, their
layers are discarded.

Luckily most of the complexity of this could be contained in
the AsyncTabSwitcher - the one change that had to sit outside of
that was moving the aTab.closing = true earlier in the removeTab
call, so that we could use that information to eagerly evict tabs
from the cache. This was to address a leak in a few tests on try.

MozReview-Commit-ID: 2E3uU8LEYkD
2018-04-16 15:35:41 -07:00
Shane Caraveo
e91b0c63fb Bug 1460221 - fix newtab placement when opened from pinned tab, r=Gijs
MozReview-Commit-ID: CwoFsFo0ThE
2018-05-10 10:44:55 -05:00
layely
acc93fcc34 Bug 1458010 - Add ability to select multiple tabs using Ctrl/Cmd. r=jaws
MozReview-Commit-ID: BHelQhtv7Gk
2018-05-05 03:56:23 +00:00
Stephen A Pohl
1630ce50b3 Bug 1366808: Properly detect buildID mismatches between parent and child processes and display about:restartrequired to prompt the user to restart Firefox before proceeding. r=jimm,felipe,bz 2018-05-08 10:31:44 -04:00
Dorel Luca
c2d279f618 Backed out changeset 998791c75fbc (bug 1176019) for Browser-chrome failures on dom/plugins/test/mochitest/browser_bug1196539.js. CLOSED TREE 2018-05-08 10:55:32 +03:00
Doug Thayer
4ca2bbcfe4 Bug 1176019 - Cache layers of background tabs r=mconley
We maintain a simple LRU cache of tab layers by setting their
docShellIsActive = false with preserveLayers(true). Once they
are pushed out of the cache by more recently used tabs, their
layers are discarded.

Luckily most of the complexity of this could be contained in
the AsyncTabSwitcher - the one change that had to sit outside of
that was moving the aTab.closing = true earlier in the removeTab
call, so that we could use that information to eagerly evict tabs
from the cache. This was to address a leak in a few tests on try.

MozReview-Commit-ID: 2E3uU8LEYkD
2018-04-16 15:35:41 -07:00
Shane Caraveo
a2bd2efef7 Bug 1449700 refactor addTab/moveTabTo patterns, r=aswan,dao
Calculate all positioning of the tab during addTab to avoid extraneous events and to provide an accurate tab id during TabOpen.

MozReview-Commit-ID: AgcrAJ9hotF
2018-04-26 10:38:18 -05:00
vidit23
e620a45303 Bug 1453957 - Stop setting the "unread" attribute on tabs. r=dao 2018-05-04 19:46:17 +02:00
Dão Gottwald
d7e7a34bc3 Bug 1183135 - Update tab position attributes when a tab becomes visually selected rather than synchronously when switching tabs. r=mconley
MozReview-Commit-ID: Lvf0edXlwTu
2018-05-03 13:32:28 +02:00
arthur.iakab
50f8007d8c Backed out changeset ee1e498e3c43 (bug 1183135) for failing browser chrome tests on browser/base/content/test/performance/browser_tabclose.js a=backout 2018-05-03 13:45:10 +03:00
Dão Gottwald
f756aac11b Bug 1183135 - Update tab position attributes when a tab becomes visually selected rather than synchronously when switching tabs. r=mconley
MozReview-Commit-ID: LGOk50fNaXe
2018-04-28 19:19:59 +02:00
Kris Maglione
582a21b473 Bug 1456035: Part 5 - Convert manual QueryInterface to ChromeUtils.generateQI. r=mccr8
Manually-implemented QueryInterface functions don't benefit from the
MozQueryInterface optimizaions, and a lot of them are in hot code, and
implement a large number of interfaces.

MozReview-Commit-ID: 8OzglraowZt
2018-04-23 12:58:34 -07:00
Mark Striemer
25351698bd Bug 1408062 - Show hidden tabs that are playing audio r=dao
MozReview-Commit-ID: FHV3bmXbX9d
2018-04-20 13:15:28 -05:00
Ed Lee
c81a04ee4f Bug 1454344 - Setting New tabs to |Blank Page| does not become effective until the 2nd new tab. r=k88hudson
MozReview-Commit-ID: GNbMgaLpB9n
2018-04-24 16:29:02 -07:00
Dorel Luca
28803bf7b7 Backed out changeset f55f15b26569 (bug 1408062) for Browser-chrome failure on browser/base/content/test/general/browser_audioTabIcon.js. CLOSED TREE 2018-04-25 23:06:18 +03:00
Mark Striemer
c9190266e6 Bug 1408062 - Show hidden tabs that are playing audio r=dao
MozReview-Commit-ID: FHV3bmXbX9d
2018-04-20 13:15:28 -05:00
Mike Conley
59c240982c Bug 1358712 - Get rid of synchronous layout flushes when calculating where to put the StatusPanel. r=Felipe
MozReview-Commit-ID: KHagFdaRAzF
2018-03-07 17:39:20 -05:00
Luca Greco
d837017ca6 Bug 1453280 - Clear and destroy tabbrowser tab's listener when adopting the last tab of a window. r=dao
MozReview-Commit-ID: 4XA866P0HJl
2018-04-10 23:09:28 +02:00
Shane Caraveo
1fd2993985 Bug 1442679 - fix insertAfterRelated for bulk opening via tabbrowser.loadTabs, r=dao
MozReview-Commit-ID: 1E90mhjvm81
2018-04-05 11:33:39 -05:00
Gijs Kruitbosch
03c94e56b1 Bug 1371523 - remove find bar sync ipc message, r=mikedeboer
MozReview-Commit-ID: C0VO0U3UJ76
2018-03-21 17:10:40 +00:00
Mark Striemer
dd15ec62a0 Bug 1408061 - Show hidden tabs in all tabs menu r=dao
MozReview-Commit-ID: FpbeT1FwEWe
2018-04-03 13:58:48 -05:00
Brian Grinstead
c171e32f30 Bug 1448555 - Part 1 - Allow the devtools toolbox to shrink when the window shrinks;r=dao,Gijs,jdescottes
By setting flex=10000 on the siblings of the toolbox and flex=1 on the toolbox iframe
we ensure that free space gets allocated to the browser contents and that the devtools
toolbox can shrink when the window needs to resize.

MozReview-Commit-ID: oel3kRw9m6
2018-04-03 13:57:30 -07:00
Manish Kumar
5e5cd56966 Bug 1446719 - Rename getTabValue / setTabValue / deleteTabValue to getCustomTabValue / setCustomTabValue / deleteCustomTabValue. r=dao 2018-04-01 16:05:34 +02:00
Andreea Pavel
1f89e006d3 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
4e76537e9d Bug 1446719 - Rename getTabValue / setTabValue / deleteTabValue to getCustomTabValue / setCustomTabValue / deleteCustomTabValue. r=dao 2018-04-01 11:15:54 +02:00