Commit Graph

1132 Commits

Author SHA1 Message Date
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
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
Cosmin Sabou
42e854deed Backed out changeset 638eb8a41245 (bug 1453751) for frequent linux debug e-10s failures on test_ext_webrequest_filter.html 2018-06-26 07:29:35 +03:00
Dave Townsend
e6cce6de21 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
2018-06-04 12:53:55 -07:00
Valentin Gosu
125632f6cb 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
2018-06-18 15:06:24 +02:00
Dorel Luca
b3c3b7410f 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
Valentin Gosu
7b6053e728 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
2018-06-12 03:03:57 +02:00
Joel Maher
d0823df1ef Bug 1405428 - skip-if = verify on mochitests which do not pass test-verify. r=gbrown 2018-06-10 05:01:47 -04:00
Boris Zbarsky
25e7cf107f 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
bdda208a64 Bug 1422365 - Introduce nsIClearDataService - part 8 - DOM Quota, r=johannh 2018-06-01 14:30:00 +02:00
Mark Banner
a6205d63b1 Bug 1461997 - Enable ESLint rule mozilla/require-expected-throws-or-rejects for browser/components. r=Gijs
MozReview-Commit-ID: JXqwIyF6v6k
2018-05-16 20:23:06 +01:00
Eliza Balazs
e5bcea9583 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
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
Adrian Wielgosik
65b770c17d Bug 1418078 - Convert JS users of nsIDOMHTMLInputElement. r=bz
MozReview-Commit-ID: 55aIiNHS0xs
2018-04-18 22:29:50 +02:00
Kris Maglione
fd7e9e6a69 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
2018-04-22 20:55:06 -07:00
Dão Gottwald
769b1f3387 Bug 1410591 - Focus the content area when restoring the selected tab. r=mikedeboer 2018-04-23 19:13:58 +02:00
Mike de Boer
fb8d750fae 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
2018-04-11 12:06:16 +02:00
Mike de Boer
84755893e0 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
2018-04-11 12:06:12 +02:00
Mike de Boer
28713f6c1d 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
2018-04-11 12:06:06 +02:00
Mike de Boer
15e60d9e71 Bug 1034036 - Part 2: Rename and shorten getMostRecentBrowserWindow to getTopWindow and modernize the style used in BrowserWindowTracker.jsm. r=dao
MozReview-Commit-ID: EvgAhq4uR3a
2018-04-11 12:05:59 +02:00
Mike de Boer
2271d50b55 Bug 1034036 - Part 1: Merge RecentWindow.jsm and UpdateTopLevelContentWindowIDHelper.jsm into one module called 'BrowserWindowTracker.jsm'. r=dao
MozReview-Commit-ID: 9qzq1aGvjDu
2018-04-11 12:05:56 +02:00
Nika Layzell
3d4a532d9d Bug 1434768 - Part 3: Rewrite JS consumers of .sessionHistory, r=bz 2018-04-10 17:49:45 -04:00
Jonathan Kingston
9b880fdc20 Bug 1374741 - Within browser/ make openUILinkIn() provide the correct triggeringPrincipal. r=gijs
MozReview-Commit-ID: 1NQrlWzIBja
2018-02-21 14:28:48 +00:00
Tooru Fujisawa
6876df089a Bug 1448531 - Part 2: Make BrowserTestUtils.waitForNewWindow receive parameters object. r=enndeakin 2018-04-10 12:18:35 +09:00
Xidorn Quan
3f55f4e5c1 Bug 1446343 part 2 - Convert size attributes to outer size for sessionstore. r=mikedeboer
MozReview-Commit-ID: FS6yrGggD7o
2018-04-06 15:01:04 +10:00
Dão Gottwald
81e69d1b32 Bug 1450559 - Remove nsISessionStore in favor of SessionStore.jsm. r=mikedeboer
MozReview-Commit-ID: 8spvIOus9ai
2018-04-05 16:30:48 +02: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
Tim Nguyen
d49de43825 Bug 1444760 - Combine loadURIWithFlags and loadURI methods. r=dao
MozReview-Commit-ID: 5dsyKwvjYht
2018-03-16 23:21:46 +00:00
Tim Nguyen
c389c6cf9c Bug 1444760 - Support only one form of loadURIWithFlags calls. r=dao
MozReview-Commit-ID: A5rMjQ6xnRw
2018-03-25 14:35:17 +02:00
Margareta Eliza Balazs
8ad3204b44 Backed out 2 changesets (bug 1444760) for ES lint failure in /builds/worker/checkouts/gecko/browser/base/content/browser.js on a CLOSED TREE
Backed out changeset 71f61091a716 (bug 1444760)
Backed out changeset 4956db1e9bdd (bug 1444760)
2018-03-25 15:29:54 +03:00
Tim Nguyen
76bd43b52d Bug 1444760 - Combine loadURIWithFlags and loadURI methods. r=dao
MozReview-Commit-ID: 5dsyKwvjYht
2018-03-16 23:21:46 +00:00
Tim Nguyen
9f6b37eabb Bug 1444760 - Support only one form of loadURIWithFlags calls. r=dao
MozReview-Commit-ID: A5rMjQ6xnRw
2018-03-25 13:59:50 +02:00
Peter Van der Beken
75d03ab497 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 6: Mark some IDL interfaces as non-scriptable. r=bz. 2018-03-01 20:19:56 +01:00
Tooru Fujisawa
f415c74b57 Bug 1442465 - Part 4.2: Stop unnecessarily awaiting on BrowserTestUtils.removeTab (simple part). r=dao 2018-03-19 11:16:45 +09:00
Tooru Fujisawa
c7c8a3fc96 Bug 1442465 - Part 4.1: Stop unnecessarily awaiting on BrowserTestUtils.removeTab (non-simple part). r=dao 2018-03-19 11:12:14 +09:00
Tooru Fujisawa
12d7012b4a Bug 1442465 - Part 3: Use BrowserTestUtils.{waitForTabClosing,waitForSessionStoreUpdate} instead of BrowserTestUtils.removeTab. r=dao 2018-03-19 11:12:13 +09:00
Kris Maglione
9d5b9190a5 Bug 1443964: Part 3 - Remove no-cpows-in-tests rule. r=mconley
The shims that this rule tests for no longer exist.

MozReview-Commit-ID: DMgP7Hczavc
2018-03-07 19:31:28 -08:00
Brendan Dahl
8a8bb26748 Bug 1442302 - Remove placesOverlay.xul. r=Gijs,mak,standard8
The overlay was responsible for script loading and defining three elements
(bhTooltip, placesCommands, placesContext). In the majority of places where
the overlay was included only part of it was used. To remove the overlay, the
elements were each split into include files and moved into where they
were used. For the scripts, a JS file was added that defines all the lazy
modules and then this script, globalOverlay.js and utilityOverlay.js were
inlined to everywhere that would have included them from the overlay.

MozReview-Commit-ID: 8T5D46oYWLn
2018-03-12 10:43:35 -07:00
Sebastian Hengst
500c4f7ad2 Backed out 6 changesets (bug 888600) for beta simulation failures: build bustage on Linux and Windows opt (bug 1442036) and devtools failure browser_net_view-source-debugger.js (bug 1441961). a=backout
Backed out changeset 83c87140dc3d (bug 888600)
Backed out changeset 2efb9b1753f6 (bug 888600)
Backed out changeset af5303781961 (bug 888600)
Backed out changeset 79ef59047e63 (bug 888600)
Backed out changeset 30d568d628dd (bug 888600)
Backed out changeset c7bd4c6c9741 (bug 888600)
2018-03-01 11:51:09 +02:00
Florian Quèze
f6add2cafd Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
Liang-Heng Chen
e05920085d Bug 1379072 - Intermittent failure of browser/components/sessionstore/test/browser_354894_perwindowpb.js, r=michal
Wait for the tabs to finish when loading test tabs.
2018-02-27 09:21:00 +02:00
Peter Van der Beken
972562411b Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 6: Mark some IDL interfaces as non-scriptable. r=bz. 2018-02-22 20:22:29 +01:00
Andreea Pavel
cd212f5763 Backed out changeset ba1524e32b04 (bug 1373055) for causing a frequency uptick of bug 1430466 2018-02-25 15:09:08 +02:00
Arjun Krishna Babu
97a8c2b10f Bug 1373055 - Unload crashed background tabs instead of flipping their remoteness and sending them to about:blank; r=mconley
When background tabs crash, they were being replaced by about:blank tab
hosted in parent process.

Now that there is a mechanism for lazily creating browsers, discarding the
crashed background browser until they are selected is a cheaper operation
(compared to creating about:blank).

Certain test cases were also updated to take into account the new scenario.
2018-02-22 17:32:29 -05:00
Dorel Luca
9260b212cd Backed out 6 changesets (bug 888600) for Valgrind and build bustge on a CLOSED TREE
Backed out changeset 7c8317f4ad48 (bug 888600)
Backed out changeset 5b990735f1ad (bug 888600)
Backed out changeset 9eafe225b804 (bug 888600)
Backed out changeset 16af80d6cd93 (bug 888600)
Backed out changeset a109987af625 (bug 888600)
Backed out changeset 0949dba396ad (bug 888600)
2018-02-22 13:56:43 +02:00
Peter Van der Beken
5fb60d9c57 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 6: Mark some IDL interfaces as non-scriptable. r=bz. 2017-11-23 16:27:27 +01:00
Cosmin Sabou
2dd6e1df06 Bug 1435394 - Disable browser/components/sessionstore/test/browser_upgrade_backup.js for frequent failures on Linux debug & asan. r=jmaher 2018-02-21 11:29:36 +02:00