Commit Graph

384 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
bcabeab0f8 Bug 1773813 - Incorporate OS zoom factor in window sizing calculations. r=tnikkel
In bug 1773342 I made OS text scale factor behave like a full zoom
factor which applies to all pages (including the browser chrome). That's
generally straight forward but it makes some callsites that use unzoomed
CSS coordinates misbehave (or behave correctly accidentally actually in
some other cases).

The main fix here is making
nsIBaseWindow::UnscaledDevicePixelsPerCSSPixel() and
nsIScreen::GetDefaultCSSScaleFactor() account for OS zoom as necessary.
However, I also went through the relevant code and cleaned it up to use
typed units and operations when possible.

The setup means:

 * nsIWidget::GetDefaultScale() doesn't account for OS full zoom.
 * nsIBaseWindow and nsIScreen does.

These are the places where this should matter and stuff can get
confused, but this works surprisingly well for all callers (except one
nsDeviceContext one which we use only for PuppetWidget and we can
remove by falling back to 1.0 like all other widgets until the update
comes).

Differential Revision: https://phabricator.services.mozilla.com/D149033
2022-06-14 15:01:52 +00:00
Norisz Fay
994a679882 Backed out changeset da5c71190673 (bug 1773813) for causing build bustages CLOSED TREE 2022-06-14 15:13:58 +03:00
Emilio Cobos Álvarez
bbb4f4acce Bug 1773813 - Incorporate OS zoom factor in window sizing calculations. r=tnikkel
In bug 1773342 I made OS text scale factor behave like a full zoom
factor which applies to all pages (including the browser chrome). That's
generally straight forward but it makes some callsites that use unzoomed
CSS coordinates misbehave (or behave correctly accidentally actually in
some other cases).

The main fix here is making
nsIBaseWindow::UnscaledDevicePixelsPerCSSPixel() and
nsIScreen::GetDefaultCSSScaleFactor() account for OS zoom as necessary.
However, I also went through the relevant code and cleaned it up to use
typed units and operations when possible.

The setup means:

 * nsIWidget::GetDefaultScale() doesn't account for OS full zoom.
 * nsIBaseWindow and nsIScreen does.

These are the places where this should matter and stuff can get
confused, but this works surprisingly well for all callers (except one
nsDeviceContext one which we use only for PuppetWidget and we can
remove by falling back to 1.0 like all other widgets until the update
comes).

Differential Revision: https://phabricator.services.mozilla.com/D149033
2022-06-14 11:37:25 +00:00
Andrew McCreight
e6b3b777a0 Bug 1152440, part 2 - Only declare one variable per line in SizeOpenedWindow. r=smaug
Also remove a closing */ that snuck in somehow.

Differential Revision: https://phabricator.services.mozilla.com/D147745
2022-05-31 13:31:14 +00:00
Andrew McCreight
d5abf42f68 Bug 1152440, part 1 - Replace 0 with nullptr in nsWindowWatcher.cpp. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D147744
2022-05-31 13:31:13 +00:00
Edgar Chen
96dc2e3250 Bug 1746448; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D143483
2022-04-20 15:37:47 +00:00
Gijs Kruitbosch
edda40141b Bug 1753696 - Automatic rewrite: replace add_task(setup with add_setup in browser mochitest, r=Standard8,webcompat-reviewers,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D141437
2022-03-30 16:16:42 +00:00
Norisz Fay
e1d7571cc8 Backed out 2 changesets (bug 1753696) for causing multiple dt and bc failures CLOSED TREE
Backed out changeset 67fd9edfbcea (bug 1753696)
Backed out changeset a9d957ea887b (bug 1753696)
2022-03-30 12:17:55 +03:00
Gijs Kruitbosch
1214ac636b Bug 1753696 - Automatic rewrite: replace add_task(setup with add_setup in browser mochitest, r=Standard8,webcompat-reviewers,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D141437
2022-03-30 08:18:51 +00:00
Randell Jesup
855202c183 Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 18:47:08 +00:00
Noemi Erli
16f5f5f2b9 Backed out changeset 12a59e5a50bf (bug 1207753) for causing build bustage CLOSED TREE 2022-03-16 18:32:51 +02:00
Randell Jesup
a98b1f8218 Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 16:16:14 +00:00
Butkovits Atila
01197944a0 Backed out changeset a68ee4b09f92 (bug 1207753) for causing Hazard bustages. CLOSED TREE 2022-03-16 14:38:14 +02:00
Randell Jesup
fe15f2115d Bug 1207753 - Add MOZ_UNANNOTATED to all Mutexes/Monitors r=nika,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D140849
2022-03-16 12:01:14 +00:00
Emilio Cobos Álvarez
1d3d68c79f Bug 1755134 - Tweak full zoom handling to match our pre-existing behavior.
MANUAL PUSH: Trivial-ish orange fix CLOSED TREE
2022-02-17 23:07:33 +01:00
Emilio Cobos Álvarez
d314336f6d Bug 1755134 - Fix a typo to fix browser_new_sized_window.js failures.
MANUAL PUSH: Trivial orange fix CLOSED TREE
2022-02-17 22:52:29 +01:00
Emilio Cobos Álvarez
a53d3515de Bug 1755134 - Fix calculation of window position and size on window.open(). r=jfkthame
Compute x and y on desktop pixels based on the old screen and use CSS
pixels for the rest.

Use well-typed units to prevent silly mistakes to the extent possible.

Differential Revision: https://phabricator.services.mozilla.com/D138646
2022-02-17 16:22:57 +00:00
Nika Layzell
0ac9d7016c Bug 1744352 - Part 1: Ensure we set InitialSandboxFlags when opening or replacing toplevel BrowsingContexts, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D138209
2022-02-09 17:50:51 +00:00
Butkovits Atila
61617d602a Backed out 2 changesets (bug 1744352) for causing failures at test_javascript_sandboxed_popup.html. CLOSED TREE
Backed out changeset 1a7d29ce984c (bug 1744352)
Backed out changeset b3a8f99f0044 (bug 1744352)
2022-02-09 17:53:32 +02:00
Nika Layzell
1a923f1aee Bug 1744352 - Part 1: Ensure we set InitialSandboxFlags when opening or replacing toplevel BrowsingContexts, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D138209
2022-02-09 14:44:51 +00:00
Kershaw Chang
74a65c68ee Bug 1741425 - Enable more mochitest with socket process, r=ahal,webdriver-reviewers,preferences-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D134485
2022-01-11 09:49:45 +00:00
Tooru Fujisawa
6f8a2b71be Bug 1746848 - Part 2: Split browser_popup_condition.js for each pref. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D134372
2021-12-21 12:10:05 +00:00
Tooru Fujisawa
af2f32202a Bug 1746848 - Part 1: Reduce redundant testcase from browser_popup_condition.js. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D134371
2021-12-21 12:10:05 +00:00
Gijs Kruitbosch
7b8f825961 Bug 1544167 - end drag sessions when creating dialog chrome windows, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D132955
2021-12-20 11:06:36 +00:00
Csoregi Natalia
77cf6412d0 Backed out changeset c738cce970b5 (bug 1544167) for causing permafailures on /browser_popup_condition.js. CLOSED TREE 2021-12-20 04:54:58 +02:00
Mike Hommey
b9b2736d16 Bug 1744877 - Remove --disable-xul. r=Gijs
Building with --disable-xul has been busted since _at least_ bug
1082579, for more than 7 years (I didn't try to track that down
further). It's time to recognize that the option serves no purpose.

Differential Revision: https://phabricator.services.mozilla.com/D133161
2021-12-08 21:37:11 +00:00
Gijs Kruitbosch
dc8909ad02 Bug 1544167 - end drag sessions when creating dialog chrome windows, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D132955
2021-12-08 00:50:44 +00:00
Chris Peterson
ce3f0d40fe Bug 1738401 - Remove -Wno-shadow warning suppressions. r=firefox-build-system-reviewers,glandium
-Wshadow warnings are not enabled globally, so these -Wno-shadow suppressions have no effect. I had intended to enable -Wshadow globally along with these suppressions in some directories (in bug 1272513), but that was blocked by other issues.

There are too many -Wshadow warnings (now over 2000) to realistically fix them all. We should remove all these unnecessary -Wno-shadow flags cluttering many moz.build files.

Differential Revision: https://phabricator.services.mozilla.com/D132289
2021-12-01 06:40:04 +00:00
Tooru Fujisawa
688a5da5c5 Bug 1701001 - Part 2: Add "is popup" field to browsing context. r=smaug
Add BrowsingContext::FieldValues.mIsPopupRequested, and pass "is popup"
value calculated before opening window/tab to BrowsingContext::CreateDetached.

Other code path that is unrelated to content-priv window.open uses the
default value false.

Differential Revision: https://phabricator.services.mozilla.com/D129411
2021-11-06 01:19:14 +00:00
Tooru Fujisawa
2023605d86 Bug 1701001 - Part 1: Standardize the condition for opening popup from window.open. r=smaug
Removed "width" feature from the popup condition, and removed related parameters
(aWidthSpecified, and aSizeSpec) from functions.

Also added "popup" feature that explicitly specify whether to request popup or
not.
This is only for content context, and it behaves differently than existing
"popup" feature for chrome context that makes the window no-style.

Differential Revision: https://phabricator.services.mozilla.com/D129410
2021-11-06 01:19:14 +00:00
Tooru Fujisawa
38c2b7620d Bug 1737832 - Simplify the chromeFlag calculation in window.open for nsGlobalWindowOuter::Print and nsDocShell::PerformRetargeting. r=smaug
This simplifies the chromeFlag calculation for:
  * chrome-priv case, by removing not-fully-chrome-priv case
  * content case, by removing presenceFlag calculation
both by removing the special case for
nsGlobalWindowOuter::Print and nsDocShell::PerformRetargeting,
that has chrome caller but no chrome parent.

Code path for nsGlobalWindowOuter::Print and nsDocShell::PerformRetargeting
now uses the content case instead of the chrome-priv case, but the resulting
flag doesn't change (CHROME_ALL) for those 2 consumers.

Differential Revision: https://phabricator.services.mozilla.com/D129530
2021-11-06 01:19:13 +00:00
Marian-Vasile Laza
1ad5e0f00b Backed out 4 changesets (bug 1737832, bug 1701001) for causing geckoview failures on noopener-noreferrer-BarProp.window.html. CLOSED TREE
Backed out changeset ff439d9c0391 (bug 1701001)
Backed out changeset b0e47b1f4d39 (bug 1701001)
Backed out changeset 0e2ca3cc650e (bug 1701001)
Backed out changeset 712b897cbc76 (bug 1737832)
2021-11-06 02:44:46 +02:00
Tooru Fujisawa
4b4b4f1547 Bug 1701001 - Part 2: Add "is popup" field to browsing context. r=smaug
Add BrowsingContext::FieldValues.mIsPopupRequested, and pass "is popup"
value calculated before opening window/tab to BrowsingContext::CreateDetached.

Other code path that is unrelated to content-priv window.open uses the
default value false.

Differential Revision: https://phabricator.services.mozilla.com/D129411
2021-11-05 23:07:40 +00:00
Tooru Fujisawa
b55930f157 Bug 1701001 - Part 1: Standardize the condition for opening popup from window.open. r=smaug
Removed "width" feature from the popup condition, and removed related parameters
(aWidthSpecified, and aSizeSpec) from functions.

Also added "popup" feature that explicitly specify whether to request popup or
not.
This is only for content context, and it behaves differently than existing
"popup" feature for chrome context that makes the window no-style.

Differential Revision: https://phabricator.services.mozilla.com/D129410
2021-11-05 23:07:40 +00:00
Tooru Fujisawa
c8a91c525d Bug 1737832 - Simplify the chromeFlag calculation in window.open for nsGlobalWindowOuter::Print and nsDocShell::PerformRetargeting. r=smaug
This simplifies the chromeFlag calculation for:
  * chrome-priv case, by removing not-fully-chrome-priv case
  * content case, by removing presenceFlag calculation
both by removing the special case for
nsGlobalWindowOuter::Print and nsDocShell::PerformRetargeting,
that has chrome caller but no chrome parent.

Code path for nsGlobalWindowOuter::Print and nsDocShell::PerformRetargeting
now uses the content case instead of the chrome-priv case, but the resulting
flag doesn't change (CHROME_ALL) for those 2 consumers.

Differential Revision: https://phabricator.services.mozilla.com/D129530
2021-11-05 23:07:40 +00:00
Sandor Molnar
f3e00231c0 Backed out 2 changesets (bug 1731597) for causing multiple wpt failures. CLOSED TREE
Backed out changeset 48cc3daf8201 (bug 1731597)
Backed out changeset db878c07f32a (bug 1731597)
2021-10-29 05:32:59 +03:00
Nika Layzell
8c0e559ca6 Bug 1731597 - Part 2: Stop relying on GetPrimaryRemoteTab when opening popups, r=annyG
Differential Revision: https://phabricator.services.mozilla.com/D126994
2021-10-28 22:25:28 +00:00
Nika Layzell
53ef30d207 Bug 1731597 - Part 1: Generalize nsBrowsingContextReadyCallback, r=annyG
Differential Revision: https://phabricator.services.mozilla.com/D126993
2021-10-28 22:25:28 +00:00
Agi Sferro
dc322efeb8 Bug 1676216 - Remove unused checkbox on promptAuth and similar. r=dimi,owlish,necko-reviewers,kershaw
The checkbox is never actually displayed (I think) so we don't need any of this
code.

Differential Revision: https://phabricator.services.mozilla.com/D122502
2021-09-01 23:42:25 +00:00
Iulian Moraru
97290821c4 Backed out 8 changesets (bug 1676216, bug 1710668) for causing build bustages. CLOSED TREE
Backed out changeset b18aea9590ee (bug 1676216)
Backed out changeset bb5fc7f9df83 (bug 1676216)
Backed out changeset dfc0ce411a75 (bug 1676216)
Backed out changeset d83b518be746 (bug 1676216)
Backed out changeset a7c71027c898 (bug 1676216)
Backed out changeset 41fee786f8ec (bug 1676216)
Backed out changeset 86546e1132f5 (bug 1710668)
Backed out changeset 8e3d053f5f55 (bug 1710668)
2021-09-01 21:57:28 +03:00
Agi Sferro
aaba7bc41f Bug 1676216 - Remove unused checkbox on promptAuth and similar. r=dimi,owlish,necko-reviewers,kershaw
The checkbox is never actually displayed (I think) so we don't need any of this
code.

Differential Revision: https://phabricator.services.mozilla.com/D122502
2021-09-01 17:19:41 +00:00
Andi-Bogdan Postelnicu
f221c438ca Bug 1725145 - Preparation for the hybrid build env. r=necko-reviewers,firefox-build-system-reviewers,valentin,glandium
Automatically generated path that adds flag `REQUIRES_UNIFIED_BUILD = True` to `moz.build`
when the module governed by the build config file is not buildable outside on the unified environment.

This needs to be done in order to have a hybrid build system that adds the possibility of combing
unified build components with ones that are built outside of the unified eco system.

Differential Revision: https://phabricator.services.mozilla.com/D122345
2021-08-25 10:46:17 +00:00
Tooru Fujisawa
2c2facfee0 Bug 1720615 - Stop collecting telemetry for popup condition of window.open. r=smaug
This reverts bug 1710010 change.

Differential Revision: https://phabricator.services.mozilla.com/D120954
2021-08-02 01:12:38 +00:00
Christoph Kerschbaumer
3c12a4bedc Bug 1723115: Update tests within toolkit/components to work with https-first enabled r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D121365
2021-07-30 13:50:59 +00:00
Nika Layzell
112f34573e Bug 1586830 - Part 1: Ensure IsInitialDocument is set earlier and consistently on WindowGlobalParent, r=smaug
This makes sure to clear and set the value more consistently when replacing
documents within a WindowGlobal, and makes sure to include the relevant flag in
the initializer.

In addition, the place where the flag is set is moved ahead to happen before
the call to `Embed` so that the information is ready before the window is
created.

Differential Revision: https://phabricator.services.mozilla.com/D119815
2021-07-14 15:51:20 +00:00
Tooru Fujisawa
0731a9aa4b Bug 1710010 - Collect telemetry for popup condition of window.open. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D118448
2021-06-23 04:19:40 +00:00
Kris Maglione
94b09497de Bug 1702678: Handle corner case when opener window is closed from a nested event loop during open. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D111179
2021-05-07 03:00:13 +00:00
Sandor Molnar
9644eccd27 Backed out changeset 761fdc9f84d2 (bug 1702678) for causing assertion failures in windowwatcher/nsWindowWatcher. CLOSED TREE 2021-05-07 05:31:41 +03:00
Kris Maglione
459d168ec2 Bug 1702678: Handle corner case when opener window is closed from a nested event loop during open. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D111179
2021-05-07 01:25:32 +00:00
Dorel Luca
10eb98bd92 Backed out changeset 0672855335bc (bug 1702678) for Mochitest failures in toolkit/components/windowwatcher/nsWindowWatcher.cpp. CLOSED TREE 2021-05-05 02:01:05 +03:00