When compartment-per-addon is disabled, browser mochitests will no longer
automatically run in an implicit Sandbox scope, which means that things like
Cu.importGlobalProperties will stop working.
MozReview-Commit-ID: AWloQ7gasEf
--HG--
extra : rebase_source : dacd0f8676dd3af60eeb372985e26d7850470e69
The module attribute for an exception is surfaced in Sentry as the "transaction"
tag, and is useful for errors that don't include stack traces.
Differential Revision: https://phabricator.services.mozilla.com/D727
MozReview-Commit-ID: JKwgmE2jBXB
--HG--
extra : rebase_source : af817b5709e5b596885cc1674bcaaf7f96a0a48f
extra : amend_source : 8b7820ca53c29429ea9d788b1cf84012c99fdf81
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
This removes the sync reflow from almost all cases. The only case where we keep it is when a keypress
caught in content triggers a sync message to the parent process. We should clean this up in bug 1371523.
I've tried to fix the tests, but a lot of them seem to be disabled anyway...
MozReview-Commit-ID: 9k36p7q8MKy
--HG--
extra : rebase_source : 311ee41ba9456a5c5d58b81a0cfa999bcef0027e
This removes the sync reflow from almost all cases. The only case where we keep it is when a keypress
caught in content triggers a sync message to the parent process. We should clean this up in bug 1371523.
I've tried to fix the tests, but a lot of them seem to be disabled anyway...
MozReview-Commit-ID: 9k36p7q8MKy
--HG--
extra : rebase_source : 311ee41ba9456a5c5d58b81a0cfa999bcef0027e
As described in the bug, this is intended as a temporary solution to
enable some experiments. If this becomes a real feature, UX will
put some thought into a better startup experience.
MozReview-Commit-ID: 4DGMHj29M3e
--HG--
extra : rebase_source : a108fd58d4703c3110790f99e4936e6fee323cd2
Note that this value, 300, is still far above the 95% threshold that telemetry is reporting (59 milliseconds) so this won't be noticeable to most users. The > 1% of users who are having this issue will benefit greatly from this change.
MozReview-Commit-ID: Bd51gjc5z83
--HG--
extra : rebase_source : 4a9e96eb555e8021012a3a06cb76e03413a8da20
CastingApps.jsm was removed from browser/modules/moz.build file in bug 1393582, but
the file itself and its usage was not removed from ContextMenu.jsm
MozReview-Commit-ID: DsqJTPP66xE
--HG--
extra : rebase_source : 077167587e492cb4a8054e134e374c3e18cfdb6b
Along with adding source code, this updates the reported to more closely follow
the Sentry SDK docs:
- Remove the "request" payload, which is for reporting errors related to HTTP
requests.
- Include SDK info in the payload.
- Reverse the order of stack frames; they are meant to be ordered oldest to
newest.
- Include a local UTC timestamp in the payload.
- Remove the in_app flag from stack traces, as it's not required or useful in
the context of Firefox.
MozReview-Commit-ID: 558KrZNah6d
Differential Revision: https://phabricator.services.mozilla.com/D648
--HG--
extra : rebase_source : 9346b4402eadffc87d3065b61fb5afd3316e0c0a
Importing this object is unnecessary after the updates to the WebIDL console from Bug 1425574
and the follow-ups blocking Bug 1430810. There are still callers that access Console.jsm
to create custom ConsoleAPI objects, but those will be handled separately.
MozReview-Commit-ID: 9ojFxtkpPId
--HG--
extra : rebase_source : 971bf99f709b8d2afe300f3693665724f747aa5e
* Code in XMLHttpRequestMainThread is converted to set the username and password individually. This is because when the parameters are empty, it ended up calling SetUserPass(":") which always returns an error.
MozReview-Commit-ID: 3cK5HeyzjFE
--HG--
extra : rebase_source : f34400c11245d88648b0ae9c196637628afa9517
Because BrowserErrorReporter instances process previously-logged messages when
they are initialized, multiple runs of each test case (such as during the test
verification suite) cause new instances to process messages from the previous
test run. Resetting the console at the end of each test case prevents tests from
affecting each other.
Differential Revision: https://phabricator.services.mozilla.com/D589
MozReview-Commit-ID: HwjbbE00o97
--HG--
extra : rebase_source : 94ea69f8dbe679ff228c5c9b016f131650be1671
extra : amend_source : 5a9d0b5018d28d2dfc4782e66c732b711cb67109
Note that this patch also replaces legacy VK_* with KEY_*, and replaces
synthesizeKey() for inputting some characters with sendString() because
it's better and clearer what it does and it sets shiftKey state properly.
MozReview-Commit-ID: De4enbjux3T
--HG--
extra : rebase_source : 2296b84bff8e22f01eeb48cd8614fac5db11136a
Since gBrowser is going to become a plain JS object instead of a DOM node,
we don't want any callers directly referring to the DOM node to get ahold of it.
MozReview-Commit-ID: KbE5dlTWmS
--HG--
extra : rebase_source : ef4caea778db406205b58b9f007846dabb062978
Errors are collected via nsIConsoleService, shaped to a Sentry-compatible
format, and sent off. Reporting is on by default, and can be disabled using a
checkbox added to the privacy prefs in about:preferences.
Collected errors are sampled to avoid overloading the collection service; the
sample rate was determined by a previous Shield study that measured the number
of errors occurring in Nightly.
The feature is hard-disabled outside of Nightly and local builds, and the
preference is disabled by default in local builds. It is intended as a prototype
that will be evaluated and replaced by a more robust collection system if it
proves helpful.
Differential Revision: https://phabricator.services.mozilla.com/D561
MozReview-Commit-ID: 6aqUatXyuYs
--HG--
extra : rebase_source : 574aa329069f80e0beb52d1fd15f43e65a548c5c
extra : amend_source : a817fa4691c520eafaef808531b10581d09aeb14
The promisePanelEvent function was unreliable because it did not raise an error if the provided panel did not exist, which caused one of the callers to ignore a missing panel silently. All the callers have now been updated based on whether they expect the panel to exist or not.
MozReview-Commit-ID: AGT4rHls4OB
--HG--
extra : source : 0857964174624b1cf3d4ea3ffa94ba21b090788a
extra : intermediate-source : 29972a52d5c4829eb7fd662792836c934b1d11d8
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
--HG--
extra : rebase_source : d9c41878036c1ef7766ef5e91a7005025bc1d72b
The promisePanelEvent function was unreliable because it did not raise an error if the provided panel did not exist, which caused one of the callers to ignore a missing panel silently. All the callers have now been updated based on whether they expect the panel to exist or not.
MozReview-Commit-ID: AGT4rHls4OB
--HG--
extra : rebase_source : f95967444ffbd2bbdc99560104845af31b71e94b
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm
MozReview-Commit-ID: 1Nc3XDu0wGl
--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
extra : intermediate-source : 34c999fa006bffe8705cf50c54708aa21a962e62
extra : histedit_source : b2be2c5e5d226e6c347312456a6ae339c1e634b0
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm
MozReview-Commit-ID: 1Nc3XDu0wGl
--HG--
extra : source : 12fc4dee861c812fd2bd032c63ef17af61800c70
This was done using the following script:
37e3803c7a/processors/chromeutils-import.jsm
MozReview-Commit-ID: 1Nc3XDu0wGl
--HG--
extra : rebase_source : c004a023389f1f6bf3d2f3efe93c13d423b23ccd
This modifies mediaCaptureWindowState() to say whether a camera or microphone is
actively captured or not. Note that this is not the same as the device being
on or off. If we disallow a device from being off while disabled, we still
notify chrome that we're not actively capturing.
MozReview-Commit-ID: B1taormqc3j
--HG--
extra : rebase_source : 292d323c4b9711cc242170f5c5c139bb87658c44
These are all no-ops because the objects involved are already implementing one of the WebIDL interfaces that pulls in MozImageLoadingContent, and that's all script gets to see.
MozReview-Commit-ID: Io2mLHbv7qM
This makes it easy for accessibility clients to retrieve the reader mode state programmatically.
There are three possibilities:
1. Reader mode is available for the current page (reader:available).
2. Reader mode is being used now (reader:active).
3. Reader is not available (the reader attribute is not present).
We do this by setting/removing the aria-reader attribute on the node.
This is not a real ARIA attribute, but it causes Gecko to expose it as an object attribute.
MozReview-Commit-ID: B38G3AYyBnS
--HG--
extra : rebase_source : 9c66389037c34a6a433af514bc81ed4ee040bfe0
This makes it easy for accessibility clients to retrieve the reader mode state programmatically.
There are three possibilities:
1. Reader mode is available for the current page (reader:available).
2. Reader mode is being used now (reader:active).
3. Reader is not available (the reader attribute is not present).
We do this by setting/removing the aria-reader attribute on the node.
This is not a real ARIA attribute, but it causes Gecko to expose it as an object attribute.
MozReview-Commit-ID: B38G3AYyBnS
--HG--
extra : rebase_source : 9c66389037c34a6a433af514bc81ed4ee040bfe0
There's a heavy enough overhead to going through XPConnect for
every observer for every visit on the nsINavHistoryObserver
interface, so this patch reduces that by replacing the single-
visit notification with one which accepts an array of visits.
Some notes: To avoid problems with the orderings of the various
ways in which we notify about visits, we have to send our bulk
onVisits notification before doing any of the others. This does
mean it technically behaves slightly different than the prior
approach of interleaving the notifications, but I can't find any
way in which this has any consequences to the end result, and it
doesn't break any tests.
MozReview-Commit-ID: GdeooH8mCkg
--HG--
extra : rebase_source : 48b5f886c4650a756e70f4657cb9d62c8ce40f74
If the image request gets redirect on loading, HTMLImageElement.currentURI
(which corresponds to nsIImageLoadingContent.currentURI) would return the
original URI before redirect, making "Save Image" in the context menu use
incorrect URI and filename. Use currentRequestFinalURI instead to get
redirected URI.
MozReview-Commit-ID: Bd7Q36sH93b
--HG--
extra : rebase_source : 5a1cc56554d1429f3c5af1c8cecaa1d72471ed21
If the image request gets redirect on loading, HTMLImageElement.currentURI
(which corresponds to nsIImageLoadingContent.currentURI) would return the
original URI before redirect, making "Save Image" in the context menu use
incorrect URI and filename. Use currentRequestFinalURI instead to get
redirected URI.
MozReview-Commit-ID: Bd7Q36sH93b
--HG--
extra : rebase_source : b88ccf98bc2a41aac007d79060424eaa2c2aca88
This patch uses the same logic as BrowserReloadOrDuplicate to determine if the cache should be skipped. I didn't extract out the logic to a separate function because I didn't want to add another function to the global namespace of browser.js.
MozReview-Commit-ID: 15kztsqMnAM
--HG--
extra : rebase_source : d5ad3ee62062d5971c95281368a102298e367e59
Users can block the overriding of shortcuts using the permissions tab of the page info dialog, as with other permissions. Site permissions also allows the use of permissions.default.shortcuts to block overriding shortcuts for all sites.
Migrated to simply use PopupNotifications.jsm. Additionally, this
changes the behavior to always have two buttons and a remember
checkbox. When selecting allow with remember, it will behave like
the always allow option previously, but when selecting block with
remember, it will move that page into a quiet mode with respect
to Flash - i.e., no plugin overlays will show anymore, and instead
you will just see the plugin icon in the URL bar, which you can
continue to interact with as before.
MozReview-Commit-ID: EUFlI7nM09t
--HG--
extra : rebase_source : 4f6fdaa602ea6c398cc646ba98282ee5c154956e
Minor note:
reftests should've turned off uploadEnabled in the first place.
reftests should have unified telemetry on. It's the future.
MozReview-Commit-ID: 9spzuUAXwwP
While the crash reporter client is submitting a crash report, the report itself
stays in the crashes directory. We suspect that in some cases, if the browser starts
up while the crash reporter client is still sending the report, the unsubmitted
crash report handler will also attempt to send the same report.
This patch makes the unsubmitted crash report handler wait approximately 10 minutes
after the session starts before doing the unsubmitted crash report scan.
MozReview-Commit-ID: KkrPDa1Qwv1
--HG--
extra : rebase_source : cafecef5776a21a76c64300eb53fdde28e09d18b
Part 1 added support for changing default permissions via pref. This
patch adds support in the frontend code, which is required to actually
make it work for most permission prompts.
This patch introduces the concept of SitePermissions.PROMPT (which
already exists in the permission manager) to distinguish between
the default UNKNOWN state and the explicit PROMPT state. They both
have the same effect (always asking the user for confirmation).
MozReview-Commit-ID: 2Gg9uwigter
--HG--
extra : rebase_source : 2c8da24f849cee53e17be8897c0b320ca9e39e7e
As opposed to right now where we hide if any of the corners or the center of the plugin is covered.
MozReview-Commit-ID: 9mOVXYyV1Il
--HG--
extra : rebase_source : 3a6bcd34e939924ef068b0c3d3230c1f9391a3a4
This adds a new sync function to AttributionCode.jsm that returns the cached
attribution data. The cached data is then used to populate the environment
instead of relying on the async function.
MozReview-Commit-ID: F0se7kXspo2
--HG--
extra : rebase_source : 0a2631651e3da6edde9592eabd354b070ffa6ae8
LoginManagerParent expects either a CPOW or a DOM node (in the non-e10s case) to
be passed as the inputElement for LoginManagerParent.fillForm. In bug 1360406,
we serialized the target in the content process so that the parent didn't have
access to the CPOW anymore.
This patch adds a targetAsCPOW property to the nsContextMenu solely for passing
back and forth between the parent and content processes in order to refer to
the target DOM node.
MozReview-Commit-ID: IMwVK0Ewlhy
--HG--
extra : rebase_source : deadcb3d5e340402ebe615529fe937a184785e07