Commit Graph

4486 Commits

Author SHA1 Message Date
Johann Hofmann
ed19d5158b Bug 377496 - Improve auth dialog blocking heuristics. r=MattN
The fix in bug 1312243 introduced a maximum of three consecutive cancelations (controlled by a pref) that a user could perform until Firefox would prevent the page from showing more dialogs.

This, in my opinion, is a great idea. The implementation, however, has a major fallacy: It checks the inner window id in the well-meaning attempt to find user navigation or reloads and clears its internal counter when that window id changes. Unfortunately this also clears the counter on non-user-initiated navigations and reloads. I believe that the true intention of the patch was to cancel the auth dialog after 3 attempts, except if:

- The user reloads the page on their own terms
- The user navigates to a different site on their own

Which is what I plan to implement, using the same pattern we applied to implement temporarily blocked site permissions:

- Temporarily store basic auth counter state on the browser object, as a map from baseDomain (eTLD+1) to number of cancellations
- Reset this state only on user initiated reload
- Reset the counter for a domain if the user has entered login data into the dialog and submitted

This would mitigate the DOS issue while hopefully not breaking any sites that rely on basic auth.

Differential Revision: https://phabricator.services.mozilla.com/D18019
2019-02-03 19:42:19 +00:00
Ricky Rosario
ed6b9ae0eb Bug 1521629 - Port search() to UrlbarInput.jsm r=dao
MozReview-Commit-ID: 70RV8IdoAKc

Differential Revision: https://phabricator.services.mozilla.com/D18381
2019-02-02 16:33:57 +00:00
Mike de Boer
39f20cd843 Bug 1524593 - nsISearchService (aka nsIBrowserSearchService, previously) refactor to be mostly an asynchronous, in preparation of WebExtension engines. r=daleharvey
This is a rollup of all the patches that have landed on the cedar project branch:

891252fdd0
Bug 1492475 - Part 1: Migrate most, if not all nsSearchService consumers to use async APIs. r=florian

79b2eb2367
Bug 1492475 - Part 2: Move nsIBrowserSearchService.idl to toolkit/components/search/nsISearchService.idl and update references. r=florian

a947d3cdf0
Bug 1492475 - Part 3: The search service init() method should simply return a Promise. r=florian

c1e172dfac
Bug 1492475 - Part 4: Remove the synchronous initialization flow. r=florian

cd41189eac
Bug 1492475 - Part 5: Since async initialization of the search service now is implicit behavior, remove the distinctive verbiage used internally. r=florian

2ae7189dfa
Bug 1492475 - Part 6: Update the cache build task to work with an actual Promise and re-initialize only once at the same time - all to fix race conditions here. r=florian

c8ee92973f
Bug 1492475 - Part 7: Make the region fetch not block the init flow, to ensure it's as fast as possible. r=florian

c44e674e16
Bug 1492475 - Part 8: Introduce an init flag, which can only be used privately, that allows to explicitly skip waiting for the region check process to complete. r=florian

6c79eaf1d3
Bug 1492475 - Part 9: Update unit tests to stop using 'currentEngine', in favor of 'defaultEngine'. r=Standard8

21b3aa17ee
Bug 1492475 - Part 10: Update unit tests to be fully aware of the new, async signatures of the search service API and remove sync init flow tests. r=mkaply,florian

ce5ba69019
Bug 1492475 - Part 11: Repair incorrect usage of the `identifier` property of nsISearchEngine instances. r=florian

fd177a7994
Bug 1518543 - Fix up the Android (Fennec) nsISearchService shim to work with the new asynchronous API. r=florian

3653d8ee22
Bug 1523708 - Change the search service interaction in the show-heartbeat action to use the new async API. r=florian

Differential Revision: https://phabricator.services.mozilla.com/D18355
2019-02-02 11:27:21 +00:00
Andrea Marchesini
edf0c3b24c Bug 1522210 - Fingerprinting and cryptomining classifiers must have separate nsIWebProgressListener blocking state codes - part 6 - fingerprinting, r=ehsan,johannh
Differential Revision: https://phabricator.services.mozilla.com/D17640
2019-01-30 14:01:05 +01:00
Dave Townsend
f45a67da21 Bug 1518632: Show the first-run experience for users that get pushed to a new profile. r=Gijs, r=flod, r=stomlinson
On startup of a fresh dedicated profile show a welcome page and a modal dialog
to explain what has happened.
2019-01-30 11:31:13 -08:00
Coroiu Cristina
62e622b69e Backed out 7 changesets (bug 1518632, bug 1463198, bug 1455707, bug 1522934, bug 1322797, bug 1474285) for build bustages at /builds/worker/workspace/build/src/toolkit/xre/nsAppRunner.cpp on a CLOSED TREE
Backed out changeset 82355ab7e063 (bug 1455707)
Backed out changeset b965981c9ce0 (bug 1463198)
Backed out changeset 21a801ca5f6d (bug 1455707)
Backed out changeset 05200c5388b4 (bug 1518632)
Backed out changeset ebcd8225434a (bug 1522934)
Backed out changeset e69cac07b209 (bug 1474285)
Backed out changeset 35af79575f54 (bug 1322797)
2019-01-31 03:34:49 +02:00
Dave Townsend
e235df8278 Bug 1518632: Show the first-run experience for users that get pushed to a new profile. r=Gijs, r=flod, r=stomlinson
On startup of a fresh dedicated profile show a welcome page and a modal dialog
to explain what has happened.
2019-01-30 11:31:13 -08:00
Myk Melez
5ecc2c1225 Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D17526
2019-01-30 17:26:25 +00:00
Cosmin Sabou
bf63534551 Merge mozilla-inbound to mozilla-central. a=merge 2019-01-29 12:01:56 +02:00
Shane Caraveo
80465b08c2 Bug 1515701 show addons disabled doorhanger in private browsing, r=Gijs,flod
Differential Revision: https://phabricator.services.mozilla.com/D15445
2019-01-29 01:39:37 +00:00
Mike Conley
63a875a94e Bug 1277060 - Ensure the URL bar gets cleared if Home button sends us to an initial page. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D17408
2019-01-28 21:24:00 +00:00
Dão Gottwald
6d6aff62e6 Bug 1522502 - Support displaying about:reader URLs. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D17510
2019-01-24 19:43:37 +00:00
Dão Gottwald
043c1e9b80 Bug 1522529 - Remove focus hack from the gURLBar getter and properly implement UrlbarInput focus and blur methods. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D17521
2019-01-24 16:49:41 +00:00
Kris Maglione
856fa07b17 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16750
2019-01-17 10:18:31 -08:00
Johann Hofmann
5321f9b8b2 Bug 1492498 - Make certificate exceptions on the new cert error pages permanent by default. r=nhnt11,keeler
This includes a new test for the feature and a bit of test cleanup to factor
out all exception related tests into their own test file.

Differential Revision: https://phabricator.services.mozilla.com/D17109
2019-01-23 16:59:12 +00:00
Mark Banner
87c811ec70 Bug 1521719 - Stop the legacy urlbar binding being constructed and registering listeners when QuantumBar is enabled. r=dao
As a result, we can also re-enable some tests running against QuantumBar.

Differential Revision: https://phabricator.services.mozilla.com/D17352
2019-01-23 16:15:34 +00:00
Dão Gottwald
800f27d0e8 Bug 1521783 - Let typeRestrictToken focus the address bar. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D17239
2019-01-22 16:40:12 +00:00
Harry Twyford
95cb2a6ad2 Bug 1313429 - Add Touch Bar functionality to Firefox r=spohl,mikedeboer,flod
Adds Touch Bar functionality to Firefox across eight commits.

Differential Revision: https://phabricator.services.mozilla.com/D5496
2019-01-22 17:13:33 +00:00
Ehsan Akhgari
5530c0b72d Bug 1514340 - Part 2: Break out the content blocking related notifications into nsIWebProgressListener.onContentBlockingEvent(); r=baku,johannh
Differential Revision: https://phabricator.services.mozilla.com/D16052
2019-01-21 09:58:50 -05:00
Tim Nguyen
c499a486c2 Bug 1241885 - Implement support for -moz-window-dragging in GTK and remove toolkit toolbar-drag binding. r=dao,bzbarsky,stransky
The restriction preventing fullscreen windows from being dragged is removed.

Differential Revision: https://phabricator.services.mozilla.com/D15075
2019-01-18 22:42:24 +00:00
Andreea Pavel
cdf494d836 Backed out 1 changesets (bug 1241885) for build bustages on a CLOSED TREE
Backed out changeset 176be7000d33 (bug 1241885)
2019-01-18 23:49:55 +02:00
Tim Nguyen
443d70bc2e Bug 1241885 - Implement support for -moz-window-dragging in GTK and remove toolkit toolbar-drag binding. r=dao,bzbarsky,stransky
The restriction preventing fullscreen windows from being dragged is removed.

Differential Revision: https://phabricator.services.mozilla.com/D15075
2019-01-18 16:51:08 +00:00
Drew Willcoxon
12ac8d5240 Bug 1518031 - Update "Add Search Engine" page action image when search engine icon becomes available. r=mossop
We can just add `onLinkIconAvailable` to `TabsProgressListener` in browser.js and update the search badge.

Differential Revision: https://phabricator.services.mozilla.com/D16590
2019-01-17 17:29:18 +00:00
Mark Banner
f65efe92bb Bug 1520336 - Removed unused 'where' parameter from BrowserSearch.recordOneoffSearchInTelemetry. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D16617
2019-01-16 01:21:24 +00:00
Christoph Kerschbaumer
82d1e43b93 Bug 1513241: Update frontend consumers of loadURI and pass loadURIOptions dictionary. r=gijs 2019-01-11 12:44:20 +01:00
Gijs Kruitbosch
1f1c77266a Bug 1502179 - don't treat closing last non-popup window as quitting when a popup window is still open (on Windows/Linux), r=jaws,mikedeboer
Differential Revision: https://phabricator.services.mozilla.com/D15408
2019-01-07 19:26:17 +00:00
Rob Wu
b6bf81f235 Bug 1501244 - Preserve privateBrowsingId OA when userContextId is set r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D9535
2018-10-24 21:23:17 +00:00
Timothy Guan-tin Chien
c7843797af Bug 1512048 - Convert tabmodalprompt binding to JSM module r=Gijs
This converts the tabmodalprompt binding to a class, to be constructed along side with the element
by TabModalPromptBox.

TabModalPromptBox will keep the instances in a map and pass it to the callers, instead of the element.
The tests and callers can access the class instance by passing the element reference to the map.

Differential Revision: https://phabricator.services.mozilla.com/D15505
2019-01-04 19:29:34 +00:00
Gijs Kruitbosch
8dd0ae79ef Bug 1514724 - define script getters in the browser instead of via a module and iterating over windows, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D14805
2018-12-28 11:27:59 +00:00
Razvan Maries
53849d42b3 Merge mozilla-inbound to mozilla-central a=merge 2018-12-24 23:50:58 +02:00
Paolo Amadini
e30a6b76de Bug 1466817 - The "Edit Pop-up Blocker Options/Preferences" command should open the in-content preferences. r=jaws
Instead of opening the pop-up permissions dialog with the origin already populated, this command now highlights the pop-up permission row in the preferences. This doesn't remove any functionality because the only action that would be available for the origin in the permissions dialog is "Allow", which is equivalent to the "Allow pop-ups for" command in the notification bar menu.

Differential Revision: https://phabricator.services.mozilla.com/D15066
2018-12-23 20:52:15 +00:00
James Teh
470fb04c63 Bug 1509767: Support keyboard activation (space/enter) of the Back/Forward buttons when focused. r=Gijs
When focused, the Back and Forward buttons previously couldn't be activated by pressing space or enter.
Although they do have a command event handler, they have type="menu", which means the command event is not fired for key presses by default.
Since these buttons are special (in that they have type="menu" and a command event), this change implements specific keyboard behavior for these buttons.

Differential Revision: https://phabricator.services.mozilla.com/D12868
2018-12-20 05:33:32 +00:00
Dão Gottwald
2c975d91f0 Bug 1516130 - Accel+K shouldn't focus and modify the read-only address bar in popups. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D15260
2018-12-24 14:50:38 +00:00
Abdelrhman Ahmed
32cbb042e8 Bug 1475670: Optimizing the code inside ContentBlocking. r=johannh 2018-12-18 11:18:13 +02:00
Mike Conley
7d43605d45 Bug 1503796 - Convert XPCOM arrays and strings from nsBrowserContentHandler to JS arrays and strings earlier when opening browser windows. r=Gijs
This also makes it so that the initial browser tab setup code can handle a JS array
as the URI(s) to load during start-up. If it's an array, the first element of that
array is inspected to determine what process type the initial browser tab should
be in.

Differential Revision: https://phabricator.services.mozilla.com/D14755
2018-12-17 21:21:57 +00:00
Tim Huang
70bec97de9 Bug 1446472 - Part 1: Showing the identity block icon for canvas permission without the doorhanger when canvas extraction is auto detected. r=baku,Gijs
For a better user experience of auto-blocking canvas extraction, this
patch changes the behavior when detecting a canvas extraction without
user interaction. It will show a canvas identity block icon with a
hidden doorhanger when auto-blocking the canvas extraction. Users can
make their choice to either block or allow the canvas extraction by
clicking the identity block icon and then refresh the page to make
the canvas permission taking effect.

Differential Revision: https://phabricator.services.mozilla.com/D14259
2018-12-16 21:30:59 +00:00
Dão Gottwald
bf0b707fc6 Bug 1514151 - Consistently use arrow functions and destructuring assignments in XPCOMUtils.defineLazyGetter calls from browser.js. r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D14532
2018-12-14 19:46:58 +00:00
Dão Gottwald
01ebc456af Bug 1513827 - Let toolbar context menu handle nodes without ids. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D14390
2018-12-13 14:53:18 +00:00
Dão Gottwald
dd82e03e68 Bug 1513845 - Stop using XPCOMUtils.defineLazyGetter for gNavigatorBundle. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D14391
2018-12-13 12:34:40 +00:00
Dão Gottwald
57fd2a0503 Bug 1513508 - Clean up Object.defineProperty calls in browser.js. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D14241
2018-12-12 13:40:06 +00:00
Kris Maglione
509e210f19 Bug 1505522: Part 2 - Migrate MemoryTelemetry.jsm to C++. r=erahm,chutten
This has benefits both in terms of performance and memory usage. Aside from
the obvious savings of not loading additional JS scripts in every process,
this also allows us to move more of our expensive data collection work to a
background thread, where it doesn't risk janking both parent and content
processes.

MozReview-Commit-ID: 2A593R7bIKB

Differential Revision: https://phabricator.services.mozilla.com/D13872
2018-12-05 15:44:53 -05:00
Neil Deakin
7c17ee0c0c Bug 1492326, use Element helper methods in accessibility instead of QueryInterface to get interface implementations that might be implemented by custom elements, r=surkov 2018-12-04 11:32:15 -05:00
c760fb9c41 Bug 1501234 - Use openTrustedLinkIn in gAccessibilityServiceIndicator. r=dao 2018-12-05 19:52:35 +01:00
Gijs Kruitbosch
65f3c11999 Bug 1511903 - r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D13714
2018-12-05 10:24:56 +00:00
Bogdan Tara
a65235ee8f Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-12-03 23:53:09 +02:00
Ehsan Akhgari
61fe3c0a09 Bug 1510911 - Part 2: Backout changeset f8849239da42 (bug 1493563 - Part 5) for regressing performance 2018-12-03 14:27:53 -05:00
Gijs Kruitbosch
2033aebf61 Bug 1062128 - set tooltiptext for new tab button directly for a11y reasons, r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D13406
2018-12-03 18:22:05 +00:00
Jared Wein
64c89796af Bug 1511095 - Remove SchedulePressure.jsm and the fallback loading throbber in the tabstrip. r=mconley
The APNG version is still used by the TabsList which can't support the SVG version of the throbber currently.

Differential Revision: https://phabricator.services.mozilla.com/D13461
2018-11-29 22:25:33 +00:00
Dão Gottwald
61d822270c Bug 1510572 - Stop overriding WebExtensionPolicy in browser.js. r=johannh
Differential Revision: https://phabricator.services.mozilla.com/D13233
2018-11-28 23:02:39 +00:00
Dão Gottwald
9d6a88221d Bug 1510412 - Set RTL_UI based on Services.locale.isAppLocaleRTL. r=florian
Differential Revision: https://phabricator.services.mozilla.com/D13121
2018-11-28 15:59:28 +00:00