Commit Graph

355 Commits

Author SHA1 Message Date
Kris Maglione
6d2169d69a Bug 1474155: Part 5 - Null out frame script singleton init methods after they're called. r=mconley
Believe it or not, the memory these references hold alive is significant.
Nulling them out saves 5-10K per process.

MozReview-Commit-ID: JONjE48yE8I
2018-07-07 20:49:30 -07:00
Kris Maglione
48c7c17d6f Bug 1474155: Part 4 - Move ClickEventHandler to a separate JSM. r=mconley
MozReview-Commit-ID: Agroe5P3vim
2018-07-07 20:28:32 -07: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
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
Kris Maglione
ce4a4be2a3 Bug 1469719: Avoid loading LoginManagerContent before it's needed. r=felipe
The "pageshow" and "blur" event listeners in LoginManagerContent only matter
once the module has loaded and processed other events. Before that, they're
guaranteed to be no-ops.

This patch delays adding those listeners before LoginManagerContent is used
for a given frame script.

MozReview-Commit-ID: 1f5AOkRkAhp
2018-06-24 18:07:59 -07:00
Kris Maglione
9eebc8c841 Bug 1470023: Lazily load PluginContent.jsm when it's first required. r=felipe
MozReview-Commit-ID: 2n9NP5mEEcG
2018-06-24 17:33:55 -07:00
shindli
6f67e8ac1d Backed out 3 changesets (bug 1470023, bug 1469719, bug 1470965) for | toolkit/components/perfmonitoring/tests/browser/browser_compartments.js on a CLOSED TREE
Backed out changeset bab121b4dd84 (bug 1469719)
Backed out changeset d28d3a80e781 (bug 1470965)
Backed out changeset 1adc0372343e (bug 1470023)
2018-06-26 22:57:54 +03:00
Kris Maglione
0851f880c0 Bug 1469719: Avoid loading LoginManagerContent before it's needed. r=felipe
The "pageshow" and "blur" event listeners in LoginManagerContent only matter
once the module has loaded and processed other events. Before that, they're
guaranteed to be no-ops.

This patch delays adding those listeners before LoginManagerContent is used
for a given frame script.

MozReview-Commit-ID: 1f5AOkRkAhp
2018-06-24 18:07:59 -07:00
Kris Maglione
f4189ea8e7 Bug 1470023: Lazily load PluginContent.jsm when it's first required. r=felipe
MozReview-Commit-ID: 2n9NP5mEEcG
2018-06-24 17:33:55 -07:00
Gijs Kruitbosch
8f5de7b966 Bug 1470002 - remove pageshow message passing, too, r=adw,jryans
MozReview-Commit-ID: 27v79lVOODG
2018-06-20 22:53:40 +01:00
Gijs Kruitbosch
f514d23b51 Bug 1470002 - remove pagehide message passing from browser code, r=mixedpuppy
MozReview-Commit-ID: 18hsSwHsWzz
2018-06-20 22:41:27 +01:00
Mark Banner
b24bddc9dc Bug 1452645 - Remove load in sidebar functionality. r=lina,mak
Based on patch by mixedpuppy.

MozReview-Commit-ID: BZwOtr4VbCH
2018-06-06 21:00:45 +01:00
Kris Maglione
a2e59d942d Bug 1464552: Part 2 - Split blocked site handler into separate JSM. r=felipe
MozReview-Commit-ID: H4d6qThnguk
2018-05-25 17:59:27 -07:00
Kris Maglione
5d1daf3843 Bug 1464552: Part 1 - Split net and cert error utils into separate JSM. r=felipe
MozReview-Commit-ID: BxLld6faIEm
2018-05-25 17:50:22 -07:00
Mark Banner
8853e86675 Bug 1463738 - Remove the Bookmark description UI. r=dao
This removes the bookmark description UI, but leaves the backend in-place for a release or two, so that users have time to save anything they want (e.g. via backup).
The backend will be removed in bug 1402890.

MozReview-Commit-ID: La4AYFar7eK
2018-05-23 17:15:09 +01:00
Boris Zbarsky
0e3408903e Bug 1460735 part 1. Remove use of nsIDOMDocument in JS. r=qdot
There are some places where we have a thing which may not even be a node, and
we end up hardcoding the value of DOCUMENT_NODE there, because
"foo.nodeType == foo.DOCUMENT_NODE" will test true if foo is not a node: both
sides will be undefined.
2018-05-29 13:39:00 -04:00
Felipe Gomes
edac51cb20 Bug 1462673 - Only load LightWeightThemeWebInstallListener when necessary. r=mconley
Convert LightWeightThemeWebInstallListener to a singleton, and add it as a lazy proxy listener.
2018-05-25 14:22:14 -03:00
Felipe Gomes
7994d8fe67 Bug 1462673 - Part 0. Copy LightWeightThemeWebInstallListener code from content.js to a jsm. r=mconley 2018-05-25 14:22:14 -03:00
Felipe Gomes
bcd973d041 Bug 1461444 - Only load the PageInfoListener content code when needed. r=johannh
In addition to the code going to a .jsm, it became a singleton that implements nsIMessageListener, instead of being one instance per tab (which is usually done to give easier access to the page's content, but it's possible to get to it through each message, as message.target.content
2018-05-25 14:22:13 -03:00
Felipe Gomes
75c38a50f4 Bug 1461444 - Part 0. Copy PageInfoListener code from content.js to a new file. r=johannh 2018-05-25 14:22:13 -03:00
Felipe Gomes
8ff2f86368 Bug 1461247 - Only load FormSubmitObserver.jsm when an invalidformsubmit notification happens. r=MattN 2018-05-25 14:22:13 -03:00
Felipe Gomes
fab2136367 Bug 1461248 - Only load ContextMenu.jsm when a contextmenu event occurs. r=mconley 2018-05-25 14:22:13 -03: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
Kris Maglione
e9dca3c017 Bug 1451058: Follow-up: Fix some errors that show up during tests. r=me
MozReview-Commit-ID: K410z6VdHov
2018-04-06 16:34:15 -07:00
Franziskus Kiefer
552e493c10 Bug 1450967 - mitm detection v0.0.1, r=keeler,johannh
Differential Revision: https://phabricator.services.mozilla.com/D839
2018-03-16 11:36:50 +01:00
Felipe Gomes
75c1da4504 Bug 1450761 - Follow-up, remove check that was added in the previous version of the patch, but is not needed anymore. r=fgomes
This check broke the test browser_bug435325.js. I believe that test is wrong, but this should make it pass again. I'll file a bug to look into it
2018-04-04 17:47:43 -03:00
Gijs Kruitbosch
9e4c16d0a4 Bug 1449548, r=mconley,aswan 2018-03-28 13:48:09 +01:00
Felipe Gomes
a2584d04ff Bug 1450761 - Add pref to disable the Add Exception button on certificate error pages. r=jaws 2018-04-04 15:56:15 -03:00
Franziskus Kiefer
34c2a67b05 Bug 1448787 - separate error for self-signed certs, r=keeler,johannh
Reviewed By: keeler, johannh

Bug #: 1448787

Differential Revision: https://phabricator.services.mozilla.com/D805
2018-03-29 11:51:33 +02:00
Franziskus Kiefer
bf83b05857 Bug 1415279 - Move error strings for certError and netError pages to frontend, r=johannh,keeler,Honza,snorp
This patch moves all TLS error string handling to the frontend.
Dev-tools doesn't show the same error code as the page does anymore but only the error code as string.
All logging of these error messages has been removed.

Bug #: 1415279

Differential Revision: https://phabricator.services.mozilla.com/D607
2018-03-27 13:31:52 +02:00
Mathieu Leplatre
7a06a75010 Bug 1397230 - Generalize blocklist clients to remote settings clients r=mgoodwin
MozReview-Commit-ID: 9VAsTFCuZUf
2018-03-13 16:23:57 +01:00
Johann Hofmann
10946494ab Bug 1297630 - Make certificate error pages work properly in iframes. r=Gijs
This adds workarounds to ensure that messages passed from browser.js
to content.js in the context of certerror pages always contain a frameId
which can be used to identify the frame that is supposed to receive them.

This fix is really meant to be temporary until we come up with a good
replacement for chrome - content communication, which probably boils down
to finding a middle ground between nsAboutCapabilities, RemotePageManager and WebChannel.

I did not update communication for Captive Portal pages, since those require
one-way broadcasting from chrome to content, which is not supported in this model.
This is tracked in bug 1446319.

I did also not change the behavior of the "Go Back" button, which still navigates
away the top level page, because I consider changing that behavior out of scope
for this bug (and in my personal opinion we should not change the behavior).

MozReview-Commit-ID: GrM6PFys6Cu
2018-03-15 13:55:13 +01:00
Gurzau Raul
c070024f19 Backed out changeset a09f27b6dceb (bug 1297630) for bc failures on content/test/about/browser_aboutNetError.js and en-us failures on functional/security/test_ssl_disabled_error_page.py on a CLOSED TREE 2018-03-16 18:27:17 +02:00
Johann Hofmann
450a380458 Bug 1297630 - Make certificate error pages work properly in iframes. r=Gijs
This adds workarounds to ensure that messages passed from browser.js
to content.js in the context of certerror pages always contain a frameId
which can be used to identify the frame that is supposed to receive them.

This fix is really meant to be temporary until we come up with a good
replacement for chrome - content communication, which probably boils down
to finding a middle ground between nsAboutCapabilities, RemotePageManager and WebChannel.

I did not update communication for Captive Portal pages, since those require
one-way broadcasting from chrome to content, which is not supported in this model.
This is tracked in bug 1446319.

I did also not change the behavior of the "Go Back" button, which still navigates
away the top level page, because I consider changing that behavior out of scope
for this bug (and in my personal opinion we should not change the behavior).

MozReview-Commit-ID: GrM6PFys6Cu
2018-03-15 13:55:13 +01:00
Emilio Cobos Álvarez
5e8e8349e5 Bug 1424963: Replace remaining consumers of getPropertyCSSValue for getCSSImageURLs. r=florian,bz
The context-menu change is technically not idempotent, since something like:

  background-image: url(foo), linear-gradient(..);

Would throw before. But that didn't seem like a great deal to me.

MozReview-Commit-ID: 70pD1EyXDB
2018-03-14 11:07:43 +01:00
Valentin Gosu
45366ffe50 Bug 1433958 - Change code that sets nsIURI.query to use nsIURIMutator r=mayhemer
MozReview-Commit-ID: JKW8IsaFY10
2018-02-26 20:43:46 +01:00
Andrew McCreight
272cee1e65 Bug 1432992, part 1 - Remove definitions of Ci, Cr, Cc, and Cu. r=florian
This patch was autogenerated by my decomponents.py

It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.

It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.

It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)

MozReview-Commit-ID: DeSHcClQ7cG
2018-02-06 09:36:57 -08:00
Kris Maglione
0bb74efdf1 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl
2018-01-29 15:20:18 -08:00
Cosmin Sabou
f09d6d985d Backed out 3 changesets (bug 1431533) for Android mochitest failures on testEventDispatcher on a CLOSED TREE
Backed out changeset a1eca62826a1 (bug 1431533)
Backed out changeset 34c999fa006b (bug 1431533)
Backed out changeset e2674287e57f (bug 1431533)
2018-01-30 07:17:48 +02:00
Kris Maglione
fd67f090b2 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl
2018-01-29 15:20:18 -08:00
Brindusan Cristian
483ba301cb Backed out 2 changesets (bug 1431533) for ESlint failures on a CLOSED TREE
Backed out changeset 6e56f4c8843e (bug 1431533)
Backed out changeset 12fc4dee861c (bug 1431533)
2018-01-30 02:32:43 +02:00
Kris Maglione
683a97d172 Bug 1431533: Part 5a - Auto-rewrite code to use ChromeUtils import methods. r=florian
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm

MozReview-Commit-ID: 1Nc3XDu0wGl
2018-01-29 15:20:18 -08:00
Mark Banner
d90158b1da Bug 1431020 - Remove unused globals TLS_ERROR_REPORT_TELEMETRY_MANUAL_SEND and TLS_ERROR_REPORT_TELEMETRY_AUTO_SEND. r=florian
MozReview-Commit-ID: HFStJKJKsSA
2018-01-17 09:08:06 +00:00
Zibi Braniecki
20c66877f9 Bug 1428172 - Align mozIntl with Intl when working with constructors. r=nalexander
MozReview-Commit-ID: 5jGk1jXKkay
2018-01-04 13:01:43 -08:00
Johann Hofmann
ce48a0f83b Bug 1422811 - Move reportTLS functionality for cert error pages into content.js. r=Gijs,mgoodwin
This also ensures that we consider certificate error pages in frames as well as top-level.

MozReview-Commit-ID: IA4vT8yZnuN
2017-12-04 15:39:53 +01:00
Mark Banner
5ab2bd1b7a Bug 1421376 - Change various instances of manually calling getService to use Services.jsm in browser/. r=mossop
MozReview-Commit-ID: FW3X2fkOwK2
2017-11-28 19:21:33 +00:00
Gijs Kruitbosch
407ae9a9d6 Bug 1339329 - cert error time warnings should only appear for recent blocklists and if clock skew is sufficient to make cert valid, r=johannh
MozReview-Commit-ID: 6HvOnc54edi
2017-03-28 11:35:27 +01:00
Vedant Chakravadhanula
dc6647067b Bug 1401137 - Updated hard-coded SUMO link to the safe browsing page. r=johannh
The link to the phishin-malware support site was hard-coded in bug 1363051 and bug 1359289. The links have been built through the urlFormatter.

MozReview-Commit-ID: FmKGcEM4GZd
2017-10-13 19:22:22 +05:30
Prathiksha
11ff72bb49 Bug 1400660 - Create a new pref to determine the initial state of the 'See details' panel in about:blocked pages. r=francois,johannh
MozReview-Commit-ID: CxZmvc34ULB
2017-10-28 01:56:31 +05:30