Граф коммитов

6145 Коммитов

Автор SHA1 Сообщение Дата
Ben Hearsum a34ea6e872 Bug 1736113: Normalize Firefox MSIX Package: Use 'App' as <Application Id> in AppxManifest.xml r=nalexander
This isn't strictly necessary, but 'App' is what most Apps seem to use, so we may as well too.

Also ensures 'en-US' is the first listed language, to make it the default.

Differential Revision: https://phabricator.services.mozilla.com/D132194
2021-11-26 14:07:59 +00:00
Andrei Oprea 1b8b7cfaa5 Bug 1740718 - Switch Messaging System to use the NimbusFeatures API r=k88hudson
Differential Revision: https://phabricator.services.mozilla.com/D131241
2021-11-26 11:34:50 +00:00
Marian-Vasile Laza e1cec4bf76 Backed out changeset 4c101dad67e0 (bug 1742582) for causing bc test failures on browser_startup_content.js. CLOSED TREE 2021-11-26 03:32:21 +02:00
Tim Huang 79931c9b86 Bug 1742582 - Enable URL query stripping in Nightly. r=pbz
Differential Revision: https://phabricator.services.mozilla.com/D131967
2021-11-25 23:13:42 +00:00
Mark Banner 40d51d328c Bug 1741868 - Add a scorer for scoring snapshots based on a relevancy score. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D131515
2021-11-25 14:24:48 +00:00
Nicolas Chevobbe 3509ad57ad Bug 1605330 - [devtools] Enable context selector on Nightly. r=ochameau.
We take this opportunity to merge the browser toolbox and content toolbox preferences
into a single one.

Depends on D131600

Differential Revision: https://phabricator.services.mozilla.com/D131770
2021-11-25 13:05:39 +00:00
Nicolas Chevobbe 46e9e2731c Bug 1741808 - [devtools] Enable EFT on Nightly. r=bomsy.
Depends on D131884

Differential Revision: https://phabricator.services.mozilla.com/D131477
2021-11-25 13:05:39 +00:00
Csoregi Natalia 03606c7ea5 Backed out changeset 90063a429c82 (bug 1741868) for causing almost permafailing assertion failures on GMPServiceParent.cpp. CLOSED TREE 2021-11-25 02:59:17 +02:00
Cristian Tuns ac7a567f03 Backed out 4 changesets (bug 1741808, bug 1742541, bug 1605330, bug 1742332) for causing damp failures. CLOSED TREE
Backed out changeset fe65ddb40037 (bug 1605330)
Backed out changeset d5c4c10f70d9 (bug 1742332)
Backed out changeset 9f637151059d (bug 1741808)
Backed out changeset bd54eacb2d7c (bug 1742541)
2021-11-24 06:43:20 -05:00
Nicolas Chevobbe 59b28c6aa5 Bug 1605330 - [devtools] Enable context selector on Nightly. r=ochameau.
We take this opportunity to merge the browser toolbox and content toolbox preferences
into a single one.

Depends on D131600

Differential Revision: https://phabricator.services.mozilla.com/D131770
2021-11-23 18:56:55 +00:00
Nicolas Chevobbe 3d85e5bcf6 Bug 1741808 - [devtools] Enable EFT on Nightly. r=bomsy.
Differential Revision: https://phabricator.services.mozilla.com/D131477
2021-11-23 18:56:54 +00:00
Mark Banner 9b12e17fa8 Bug 1741868 - Add a scorer for scoring snapshots based on a relevancy score. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D131515
2021-11-19 16:48:25 +00:00
Ben Hearsum 22abdf8e0c Bug 1733284: Part 2: Re-launch Firefox with an App path when running in a package context r=mhowell,tkikuchi
Differential Revision: https://phabricator.services.mozilla.com/D131382
2021-11-18 14:37:36 +00:00
Mike Kaply 30f444a156 Bug 1741593 - Setting MOZ_APP_* values should not depend on launcher process. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D131394
2021-11-17 23:03:27 +00:00
Toshihito Kikuchi 68dd038b3b Bug 1740619 - Include the launcher process in a Job object when "--wait-for-browser" is set. r=mhowell
When the launcher process is enabled, Puppeteer, or any other automation tools, cannot
have control of the lifetime of the browser process even though the `--wait-for-browser`
option is used.

This patch is to include the launcher process and the browser process to a job to enable
a launcher of the launcher process like Puppeteer to terminate the application by terminating
the launcher process if `--wait-for-browser` is set.

Differential Revision: https://phabricator.services.mozilla.com/D131170
2021-11-17 03:52:30 +00:00
Molly Howell 968794d1cf Bug 1738372 - Add a pref to control whether the downloads panel opens on every new download. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D130931
2021-11-17 00:17:40 +00:00
Toshihito Kikuchi 7e19cd245f Bug 1740805 - Treat --remote-debugging-port as implicit --wait-for-browser. r=mhowell
Depends on D131170

Differential Revision: https://phabricator.services.mozilla.com/D131171
2021-11-16 19:03:55 +00:00
Marian-Vasile Laza cc12927f82 Backed out 2 changesets (bug 1740619, bug 1740805) for causing multiple test failures. CLOSED TREE
Backed out changeset be8956524114 (bug 1740805)
Backed out changeset b5ae0c3e9c56 (bug 1740619)
2021-11-16 05:38:10 +02:00
Toshihito Kikuchi d2034f189f Bug 1740805 - Treat --remote-debugging-port as implicit --wait-for-browser. r=mhowell
Depends on D131170

Differential Revision: https://phabricator.services.mozilla.com/D131171
2021-11-16 01:37:02 +00:00
Toshihito Kikuchi 30151da990 Bug 1740619 - Include the launcher process in a Job object when "--wait-for-browser" is set. r=mhowell
When the launcher process is enabled, Puppeteer, or any other automation tools, cannot
have control of the lifetime of the browser process even though the `--wait-for-browser`
option is used.

This patch is to include the launcher process and the browser process to a job to enable
a launcher of the launcher process like Puppeteer to terminate the application by terminating
the launcher process if `--wait-for-browser` is set.

Differential Revision: https://phabricator.services.mozilla.com/D131170
2021-11-16 01:37:02 +00:00
Marian-Vasile Laza b06253f9c6 Backed out changeset 50ad5f64e5ba (bug 1738372) for causing bc failures on browser_downloads_panel_opens.js. 2021-11-16 02:50:05 +02:00
Molly Howell 18e12efbad Bug 1738372 - Add a pref to control whether the downloads panel opens on every new download. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D130931
2021-11-16 00:03:27 +00:00
Ed Lee 9b61a81283 Bug 1740819 - Turn off MR2 onboarding in Fx95 r=pdahiya
Turn off by default as "Mikal won't want to see us ship another experience devoid of the pin and set to default prompts."

Differential Revision: https://phabricator.services.mozilla.com/D131023
2021-11-12 04:59:07 +00:00
Toshihito Kikuchi 52751d5a3f Bug 1740569 - NativeNtBlockSet_Write needs to receive AnnotationWriter. r=gsvelto
Bug 1420363 changed the type of `WriterFn`'s parameter from `HANDLE` to
`AnnotationWriter&` and rewrote `InternalWriteNotes` in mozglue.dll, but
it didn't update `NativeNtBlockSet_Write` in firefox.exe, which is used
when the launcher process is enabled.

This patch applies a part of D46848 to `NativeNtBlockSet_Write`.

Differential Revision: https://phabricator.services.mozilla.com/D130921
2021-11-11 17:50:48 +00:00
Drew Willcoxon abd3229014 Bug 1735976 - Update Firefox Suggest preferences: Part 4 - Migrate suggest.quicksuggest to suggest.quicksuggest.nonsponsored. r=nanj
Now that we're likely not targeting a 94 dot release anymore, I'd like to go
ahead and rename the `suggest.quicksuggest` pref to
`suggest.quicksuggest.nonsponsored` as we considered doing before. There won't
be a better time to do it.

Depends on D128665

Differential Revision: https://phabricator.services.mozilla.com/D130565
2021-11-09 17:17:11 +00:00
Drew Willcoxon dae7518d2e Bug 1735976 - Update Firefox Suggest preferences: Part 1 - Add a pref for data collection, decouple the two existing suggestion prefs, and rework pref and Nimbus handling. r=nanj,mak
This is a big revision that makes a lot of changes. The core change is adding a
new pref to control data collection for Firefox Suggest and making the existing
non-sponsored and sponsored prefs independent of each other. The data-collection
pref defaults to false in every scenario; in online, the user is opted in to it
when they opt in to the modal, and in both online and offline the user will be
able to enable it in the preferences UI (part 2 of this bug, see below).

A new requirement for this bug that came up after I wrote my original patch in
D128579 is that we want the ability to enable Merino via an experiment, which
requires the data-collection pref to be true. That's tricky because data
collection will be exposed in the preferences UI. If the user disables it, we
don't want to override that. There's a distinction to draw between its being
disabled/enabled by default and its being disabled/enabled by the user. It's OK
to override the default but not the user's choice, and that's true not only for
this new data-collection pref but for all prefs exposed in the UI.

We can handle that by taking care to set prefs on the default and user branches
as appropriate. If a pref exposed in the UI has a value on the user branch, then
we can assume the user modified it, and ideally that value should stick around
indefinitely. On the other hand we can set default values as configured by
Nimbus on the default branch. If the user modified a pref, then it'll take
precedence since it's on the user branch.

To make user-modified preferences stick around indefinitely, I made them sticky
in firefox.js. That way even when user values are the same as default values,
the user-branch values will be preserved, which is not true of non-sticky prefs.

I added a new Nimbus variable for data collection, so we can use that to enable
it by default. It was trivial to add similar variables for the other UI-exposed
prefs, the two suggestions types, so I did that too.

This is all tested pretty thoroughly in browser_quicksuggest_configuration.js.

This is only part 1 of 4. Part 2 updates the prefs UI, part 3 adds telemetry for
the new data-collection pref (event telemetry when it's toggled, similar to the
existing prefs, and telemetry environment), and part 4 changes the name of
`browser.urlbar.suggest.quicksuggest` to
`browser.urlbar.suggest.quicksuggest.nonsponsored`.

For review, I'd suggest looking at parts in the following order:

1. UrlbarPrefs.jsm, browser_quicksuggest_configuration.js, and
   test_quicksuggest_migrate.js.

   The core changes are in UrlbarPrefs.jsm. The two test files document the
   expected behavior of different scenarios/enrollments and prefs migrations.

   browser_quicksuggest_configuration.js tests different enrollments and the
   prefs stuff I mentioned above.

   test_quicksuggest_migrate.js tests prefs migrations. I added a migration step
   that's run on startup when the scenario is updated. There are two things we
   need to do: decouple the existing `suggest.quicksuggest` prefs and initialize
   the new data-collection pref. (For brevity I'll omit the `browser.urlbar`
   prefix to all these pref names in this commit message.)

   The `suggest.quicksuggest` pref now controls non-sponsored suggestions, and
   the `suggest.quicksuggest.sponsored` now controls sponsored suggestions
   independent of the other pref. The new data pref is
   `quicksuggest.dataCollection.enabled`.

   For the current online rollout on 92.0.1, we don't record the user's choice
   to the opt-in modal, so the initial value of the data pref for existing users
   is debatable. I Slacked with Natalie about it, and we think it's OK to
   initialize it to allow data collection as long as the main
   `suggest.quicksuggest` pref is true. The user may not have opted in to the
   modal in that case, but if not, they enabled suggestions in
   about:preferences, where we show a description under the main Firefox Suggest
   checkbox about data sharing.

   For new profiles (i.e., profiles that are created in versions of Firefox
   where this revision has landed), the migration step runs but is effectively a
   no-op.

2. UrlbarProviderQuickSuggest.jsm and UrlbarProviderQuickSuggest.jsm. The
   changes here are again related to decoupling the `suggest.quicksuggest` prefs
   and checking the data pref before recording data in telemetry and fetching
   from Merino.

3. All the other tests. I ended up adding some checks to a lot of them and
   simplifying some, especially browser_urlbar_telemetry_quicksuggest.js.

Depends on D130531

Differential Revision: https://phabricator.services.mozilla.com/D129224
2021-11-09 17:17:10 +00:00
Haik Aftandilian 9d1f3bd3fc Bug 1740119 - Let Window Server disconnection ride the trains r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D130691
2021-11-09 02:22:35 +00:00
Drew Willcoxon 62b0d6085d Bug 1737928 - Add a timeout mechanism for quick suggest fetches from Merino. r=nanj
This adds a 200ms timeout using `setTimeout` and the current `AbortController`.
The timeout value can be set in prefs and Nimbus.

It also modifies SkippableTimer in UrlbarUtils.jsm so canceling and firing are
idempotent.

Depends on D130429

Differential Revision: https://phabricator.services.mozilla.com/D129772
2021-11-08 17:56:02 +00:00
Toshihito Kikuchi 38da3c9b42 Bug 1739429 - No need to remap the section in GetDependentModulePaths. r=mhowell
Firefox.exe has its own function table of Kernel32's functions so that we can
use them before the executable's import table is resolved.  The table is in
the shared secion, where the launcher process puts the offsets of the functions
and the browser process resolves them to the function addresses.

The problem is when the browser process calls `GetDependentModulePaths` to get
the list of dependent modules that is also in the shared section, it remapped
the write-copy view to get the list visible in the mapped view.  As a side-effect
of this remapping, the function addresses are gone and the browser process cannot
use the `RedirectToNoOpEntryPoint` blocking technique.  This is not a problem in
the production environment, but it caused GTest failures.

After I examined the events carefully as below, it turns out that this remapping
is not really needed because `GetDependentModulePaths` is used when we launch
a child process with pre-spawn CIG, which is long after all the dependent modules
are loaded.

1. Browser process gets a writeble handle via the shared section
2. Add dependent modules to the writable view (before the process's entrypoint)
3. `firefox!wmain` calls `ConvertToReadOnly()` to convert the writable handle to
   a readonly handle
4. The first module loading maps a write-copy view, which contains a complete
   list of the dependent modules
5. Or, the first call to `GetDependentModulePaths()` maps a write-copy view
   (No need to remap the view here)

When the browser process calls `GetDependentModulePaths`, the list of the dependent
modules are complete and there is no needed to remap it.

The proposed fix is to remove the line remapping the section.

Differential Revision: https://phabricator.services.mozilla.com/D130433
2021-11-05 21:04:22 +00:00
Punam Dahiya 2728a5995f Bug 1737873 - Add More From Mozilla in about:preferences r=preferences-reviewers,Gijs,fluent-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D128289
2021-10-28 20:25:42 +00:00
Paul Zuehlcke 841f5877a3 Bug 1737565 - Added UI for toggling Total Cookie Protection in ETP standard in about:preferences. r=johannh,fluent-reviewers,preferences-reviewers,flod,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D129408
2021-10-28 12:23:59 +00:00
Toshihito Kikuchi be8b495bbf Bug 1737860 - Make the minimum inactive duration configurable through pref. r=haik
For end-to-end testing, this value needs to be configurable.

Differential Revision: https://phabricator.services.mozilla.com/D129731
2021-10-28 02:37:02 +00:00
Bob Owen 2db5ff3913 Bug 1713973 p2: Add Uniscribe Line Breaking via chromium-sandbox IPC. r=tkikuchi,jfkthame
This adds a new cross call using the chromium shared memory IPC to proxy use of
the Uniscribe line breaker, because it cannot be used in the content process
with win32k lockdown enabled.

If the text being processed is too long to fit into the IPC params then it is
processed in chunks.

This change implements an INPTR_TYPE in the sandbox, which appears to have
been removed at some point.
It also fixes a bug in OpcodeFactory::MakeOpAction, so that a null param is
passed and we can use an empty parameter set.

New files are in chromium-shim as these are most likely to require changes and
this means we will not have to update the main chromium patch.

Depends on D129125

Differential Revision: https://phabricator.services.mozilla.com/D126809
2021-10-26 09:58:51 +00:00
Emilio Cobos Álvarez f317384568 Bug 1736518 - Make browser.tabs.drawInTitlebar a tri-state. r=stransky,Gijs
To more properly support Linux having a different default at runtime.

Expose the resolved value in appinfo for convenience, and use it in the
front-end as needed.

Differential Revision: https://phabricator.services.mozilla.com/D129004
2021-10-21 09:07:12 +00:00
Haik Aftandilian 129adcc9a3 Bug 1730066 - Enable tab unloading on macOS r=spohl
Enable tab unloading on macOS when the OS memory pressure level reaches "critical".

Add a gtest that exercises the memory pressure response by testing that a tab unload attempt occurs and the internal memory-pressure notification is sent. Test does not cause a real OS memory pressure event.

Use the memory_pressure(1) macOS command to generate artificial memory pressure events to test the browser response. For example, the following artificially puts the OS in the "critical" memory pressure level for 60 seconds.

`$ sudo memory_pressure -S -l critical -s 60`

Differential Revision: https://phabricator.services.mozilla.com/D126560
2021-10-21 04:43:35 +00:00
Haik Aftandilian 96b2e2a022 Bug 1467758 - WindowServer connection never being terminated r=spohl
Drop the window server connection from the content process sandbox when out-of-process WebGL is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D128842
2021-10-19 16:38:33 +00:00
Doug Thayer 5784aaf6e3 Bug 1731501 - Use setActivationPolicy to hide dock icon on OSX r=mstange
This could be a bit risky to enable in any widespread fashion, but the
goal here is just to land it behind an undocumented command line flag
so that we can do a bit of experimentation and dogfooding. The API
seems to work exactly as desired: firefox opens in the background
without a window or dock icon. Upon trying to launch firefox again, we
simply send a remote command to the existing instance to open a window,
and it does so and gets a dock icon.

Differential Revision: https://phabricator.services.mozilla.com/D126054
2021-10-17 19:00:12 +00:00
Andrei Oprea b5e3b22572 Bug 1734146 - Reach groups should include all features that are part of the messaging-experiments provider r=pdahiya
Differential Revision: https://phabricator.services.mozilla.com/D127664
2021-10-14 09:26:09 +00:00
Michael Kohler d00eca3132 Bug 1672486 - Remove browser.toolbars.bookmarks.2h2020 pref from firefox.js r=mak,Gijs
Depends on D127590

Differential Revision: https://phabricator.services.mozilla.com/D127591
2021-10-14 07:51:16 +00:00
Doug Thayer 7ddd9de745 Bug 1733444 - Persist an "allow windowless" mode after restarts from -silentmode r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D127150
2021-10-01 01:26:25 +00:00
Csoregi Natalia d7366e9cbd Backed out changeset c486787cd9a2 (bug 1733444) for causing build bustage on nsAppStartup.cpp.CLOSED TREE 2021-10-01 00:38:34 +03:00
Doug Thayer a91484d045 Bug 1733444 - Persist an "allow windowless" mode after restarts from -silentmode r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D127150
2021-09-30 20:43:26 +00:00
Scott a1b9235fb1 Bug 1730017 - Adding save to Pocket button to newtab Pocket cards on hover. r=fluent-reviewers,flod,gvn
Differential Revision: https://phabricator.services.mozilla.com/D126748
2021-09-29 20:20:32 +00:00
Sam Foster 45ea2935f8 Bug 1724960 - Add a one-time infobar to explain session restore. r=Gijs,fluent-reviewers
* Add a new browser.startup.couldRestoreSession.count which counts up (max 2) each time we *could* restore a session
* Show the new infobar notification when that count reaches 1 (i.e. skip it on the first startup after update)
* New strings for the notification - including an inline icon image for the ☰
* The notification's button opens the app menu.
* Allow Opt-out with a pref value of -1, and opt-out the testing user by default so our perf tests don't trip on it.

Differential Revision: https://phabricator.services.mozilla.com/D125904
2021-09-27 19:27:02 +00:00
Sandor Molnar a6fd1760f5 Backed out changeset 563ff2a2a021 (bug 1724960) for causing talos failures. CLOSED TREE 2021-09-24 06:52:13 +03:00
Sam Foster d084a1afae Bug 1724960 - Add a one-time infobar to explain session restore. r=Gijs,fluent-reviewers
* Add a new browser.startup.couldRestoreSession.count which counts up (max 2) each time we *could* restore a session
* Show the new infobar notification when that count reaches 1 (i.e. skip it on the first startup after update)
* New strings for the notification - including an inline icon image for the ☰
* The notification's button opens the app menu.

Differential Revision: https://phabricator.services.mozilla.com/D125904
2021-09-23 23:19:41 +00:00
Scott b48fcc9847 Bug 1730018 - New Pocket footer section on newtab r=gvn,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D126268
2021-09-23 22:08:37 +00:00
Scott 21db2db736 Bug 1729946 - Adding Pocket newtab load more button. r=fluent-reviewers,gvn,flod
Differential Revision: https://phabricator.services.mozilla.com/D125631
2021-09-23 02:48:38 +00:00
Nicolas Chevobbe 4cedd06060 Bug 1731764 - [devtools] Rename DevTools fission pref panel into DevToools experimental pref panel. r=jdescottes.
Differential Revision: https://phabricator.services.mozilla.com/D126222
2021-09-22 05:08:18 +00:00
Neil Deakin 13cf41155c Bug 1724977, change default value of browser.tabs.warnOnClose to false, r=mhowell
Differential Revision: https://phabricator.services.mozilla.com/D125780
2021-09-20 16:39:57 +00:00