Commit Graph

924 Commits

Author SHA1 Message Date
Jeff Walden
88982b4a0a Bug 1656411 - Move various stack limit-related functions (including reporting overrecursion) out of jsfriendapi.h to a new header. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D85523
2020-07-31 16:33:40 +00:00
Jeff Walden
442b7a4587 Bug 1656411 - Move WindowProxy-related functions out of jsfriendapi.h to their own header. r=mgaudet
Differential Revision: https://phabricator.services.mozilla.com/D85521
2020-07-31 16:11:36 +00:00
Andreas Farre
b447c24f6c Bug 1613431 - Part 3: Handle synced setters return value. r=nika
Depends on D83646

Differential Revision: https://phabricator.services.mozilla.com/D83647
2020-07-31 13:37:13 +00:00
Nathan Froyd
1a5e36fc8f Bug 1223932 - delete guard object uses from the tree; r=jwalden
CLOSED TREE

We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Mihai Alexandru Michis
367903d750 Backed out changeset ac9c811bc427 (bug 1223932) for causing spidermonkey rust failures.
CLOSED TREE
2020-07-30 18:23:21 +03:00
Nathan Froyd
05fe6be54b Bug 1223932 - delete guard object uses from the tree; r=jwalden
We don't need these macros anymore, for two reasons:

1. We have static analysis to provide the same sort of checks via `MOZ_RAII`
   and friends.
2. clang now warns for the "temporary that should have been a declaration" case.

The extra requirements on class construction also show up during debug tests
as performance problems.

This change was automated by using the following sed script:

```
# Remove declarations in classes.
/MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER/d
/MOZ_GUARD_OBJECT_NOTIFIER_INIT/d

# Remove individual macros, carefully.
{
  # We don't have to worry about substrings here because the closing
  # parenthesis "anchors" the match.
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_TO_PARENT)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_PARAM_IN_IMPL)/)/g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_IN_IMPL)/)/g;

  # Remove the longer identifier first.
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM_TO_PARENT//g;
  s/MOZ_GUARD_OBJECT_NOTIFIER_ONLY_PARAM//g;
}

# Remove the actual include.
\@# *include "mozilla/GuardObjects.h"@d
```

and running:

```
find . -name \*.cpp -o -name \*.h | grep -v 'GuardObjects.h' |xargs sed -i -f script 2>/dev/null
mach clang-format
```

Differential Revision: https://phabricator.services.mozilla.com/D85168
2020-07-30 14:22:38 +00:00
Olli Pettay
d87cc115c8 Bug 1654088, make WindowWatcher methods to use CStrings and not char and make window.open throw the correct exception, r=farre,geckoview-reviewers,agi*
Differential Revision: https://phabricator.services.mozilla.com/D84604
2020-07-27 21:36:24 +00:00
Emilio Cobos Álvarez
b1094d116d Bug 1358633 - Enable window.find on GeckoView. r=geckoview-reviewers,snorp
I just tested it on Fenix nightly and it works great. It better do
actually, as most of the code is shared with find-in-page.

See bug 750051 for when this was blocked. I don't think that was
properly understood at the time, but at this point the divergence from
desktop seems gratuitous.

This has caused compat issues in the past.

Differential Revision: https://phabricator.services.mozilla.com/D84758
2020-07-24 14:23:14 +00:00
Emilio Cobos Álvarez
3d4eeab014 Bug 1654402 - Move window.matchMedia to the inner window. r=nika,smaug
Differential Revision: https://phabricator.services.mozilla.com/D84442
2020-07-22 10:09:50 +00:00
Emilio Cobos Álvarez
180cf76d3b Bug 1602347 - When asked for the DPI from an undisplayed subdocument, try to get it from ancestor documents before giving up and returning 1.0. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D84437
2020-07-21 22:01:10 +00:00
Jon Coppeard
7578383b8e Bug 1648453 - Fix build errors caused by MacOS headers defining check macro r=smaug
These patches have triggered a case where a MacOS header defines 'check' as a macro which then conflicts with use of 'check' as a method name in AccessCheck.h, probably due to unified builds.

This was fixed independently in a couple of places before, but I think it makes sense to move the fix to AccessCheck.h itself.

Differential Revision: https://phabricator.services.mozilla.com/D83796
2020-07-17 17:36:04 +00:00
Razvan Maries
90e72f44da Backed out 4 changesets (bug 1648453) for hazzard bustages on CycleCollectedJSContext.cpp. CLOSED TREE
Backed out changeset 9598a75cca47 (bug 1648453)
Backed out changeset 473e7d55a25e (bug 1648453)
Backed out changeset 0afcee198ecd (bug 1648453)
Backed out changeset 623252539387 (bug 1648453)
2020-07-17 00:01:11 +03:00
Jon Coppeard
708f191c93 Bug 1648453 - Fix build errors caused by MacOS headers defining check macro r=smaug
These patches have triggered a case where a MacOS header defines 'check' as a macro which then conflicts with use of 'check' as a method name in AccessCheck.h, probably due to unified builds.

This was fixed independently in a couple of places before, but I think it makes sense to move the fix to AccessCheck.h itself.

Differential Revision: https://phabricator.services.mozilla.com/D83796
2020-07-16 15:37:42 +00:00
Jonathan Watt
0f117d9e10 Bug 1652683. Minor cleanup in nsGlobalWindowOuter::PrintOuter. r=bobowen CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D83468
2020-07-14 10:09:30 +00:00
Razvan Maries
4499d2307b Backed out changeset a246c21f820d (bug 1652683) for perma failures on nsCOMPtr.h. CLOSED TREE 2020-07-14 16:03:41 +03:00
Jonathan Watt
ad62f487f1 Bug 1652683. Minor cleanup in nsGlobalWindowOuter::PrintOuter. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D83468
2020-07-14 10:09:30 +00:00
Jonathan Watt
ea23bf77cd Bug 1652344 p3. Stop creating an nsIPrintSettings in nsGlobalWindowOuter::PrintOuter. r=bobowen
The fallback code in nsPrintJob::DoCommonPrint to create an nsIPrintSettings if
none is passed in is never used, since all callers pass a settings object.
However, to simplify future changes I'd like nsGlobalWindowOuter::PrintOuter to
stop creating and passing in its own default valued nsIPrintSettings object.

This patch makes the fallback code that DoCommonPrint calls do what
nsGlobalWindowOuter::PrintOuter does, and makes the latter stop passing in a
settings object.

This patch also removes nsIWebBrowserPrint.globalPrintSettings since
nsGlobalWindowOuter::PrintOuter was its only consumer.

Differential Revision: https://phabricator.services.mozilla.com/D83268
2020-07-13 00:22:28 +00:00
Jonathan Watt
6cb2665572 Bug 1652344 p1. Remove the code in nsGlobalWindowOuter::PrintOuter for handling failure to get an nsIPrintSettingsService. r=bobowen
All our backends implement nsIPrintSettingsService, so this code is unused.

Differential Revision: https://phabricator.services.mozilla.com/D83267
2020-07-12 19:32:25 +00:00
Mihai Alexandru Michis
605e60e31b Backed out 2 changesets (bug 1652344) for causing failures in test_printpreview.xhtml
CLOSED TREE

Backed out changeset d2b66d810ab5 (bug 1652344)
Backed out changeset 075903436ef2 (bug 1652344)
2020-07-13 01:21:28 +03:00
Jonathan Watt
fccd18873d Bug 1652344 p2. Stop creating an nsIPrintSettings in nsGlobalWindowOuter::PrintOuter. r=bobowen
The fallback code in nsPrintJob::DoCommonPrint to create an nsIPrintSettings if
none is passed in is never used, since all callers pass a settings object.
However, to simplify future changes I'd like nsGlobalWindowOuter::PrintOuter to
stop creating and passing in its own default valued nsIPrintSettings object.

This patch makes the fallback code that DoCommonPrint calls do what
nsGlobalWindowOuter::PrintOuter does, and makes the latter stop passing in a
settings object.

This patch also removes nsIWebBrowserPrint.globalPrintSettings since
nsGlobalWindowOuter::PrintOuter was its only consumer.

Differential Revision: https://phabricator.services.mozilla.com/D83268
2020-07-12 19:33:49 +00:00
Jonathan Watt
9c7176545f Bug 1652344 p1. Remove the code in nsGlobalWindowOuter::PrintOuter for handling failure to get an nsIPrintSettingsService. r=bobowen
All our backends implement nsIPrintSettingsService, so this code is unused.

Differential Revision: https://phabricator.services.mozilla.com/D83267
2020-07-12 19:32:25 +00:00
Dimi Lee
53a9ea9ff5 Bug 1622212 - P1. Always use ContentBlocking::ShouldAllowAccessFor to set mStorageAccessPermissionGranted flag r=baku
The mStorageAccessPermissionGranted variable determins the result of
HasStorageAccess API, which should sync with the result of the
ContentBlocking::ShouldAllowAccessFor.

This patch removes using nsGloWindowOuter's logic and alwasys use
ShouldAllowAccessFor while creating a new document.

Differential Revision: https://phabricator.services.mozilla.com/D78634
2020-06-30 23:40:57 +00:00
Simon Giesecke
a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Cosmin Sabou
e6151538d2 Backed out 3 changesets (bug 1622212) for causing wpt failures on requestStorageAccess.sub.window.html on central.
Backed out changeset a20db87bec25 (bug 1622212)
Backed out changeset 783ef2b63ef8 (bug 1622212)
Backed out changeset ece4c5394185 (bug 1622212)
2020-07-01 02:33:27 +03:00
Butkovits Atila
20011935ee Backed out changeset 6d882a42cfbe (bug 1646519) for causing failure on WindowContext.cpp. CLOSED TREE 2020-07-01 01:11:52 +03:00
Kris Maglione
d54f97f4df Bug 1646519: Fix GetInProcessTopInternal usage in GetZone. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80092
2020-06-25 21:13:10 +00:00
Dimi Lee
eebc3c5a01 Bug 1622212 - P1. Always use ContentBlocking::ShouldAllowAccessFor to set mStorageAccessPermissionGranted flag r=baku
The mStorageAccessPermissionGranted variable determins the result of
HasStorageAccess API, which should sync with the result of the
ContentBlocking::ShouldAllowAccessFor.

This patch removes using nsGloWindowOuter's logic and alwasys use
ShouldAllowAccessFor while creating a new document.

Differential Revision: https://phabricator.services.mozilla.com/D78634
2020-06-30 14:39:36 +00:00
Eden Chuang
744f4296e3 Bug 1637035 - Do not inherit COEP from opener for non-http or non-initial-about:blank documents r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80414
2020-06-25 02:14:29 +00:00
Kris Maglione
7bfad22ff8 Bug 1642425: Part 5 - Update comments to account for Fission. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D77704
2020-06-17 18:01:14 +00:00
Kris Maglione
1a71c4ebda Bug 1642425: Part 4 - Fix mTopLevelOuterContentWindow under Fission. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D77703
2020-06-17 18:01:12 +00:00
Kris Maglione
364bd2c4cb Bug 1642425: Part 2 - Remove IsFrame() from GlobalWindow(Inner|Outer). r=smaug
It does not return sensible values under Fission.

Differential Revision: https://phabricator.services.mozilla.com/D77701
2020-06-17 18:01:02 +00:00
Kris Maglione
27026d2594 Bug 1642425: Part 1 - Remove IsTopLevelWindow() method. r=baku
It doesn't do anything sensible under Fission.

Differential Revision: https://phabricator.services.mozilla.com/D77700
2020-06-17 18:01:00 +00:00
Csoregi Natalia
9bf5ad212d Backed out 2 changesets (bug 1622212) for failures on browser_blockingCookies.js. CLOSED TREE
Backed out changeset 7cf837020c1d (bug 1622212)
Backed out changeset 433bce375811 (bug 1622212)
2020-06-17 09:58:34 +03:00
Dimi Lee
86e7c9e3fb Bug 1622212 - P1. Always use ContentBlocking::ShouldAllowAccessFor to set mStorageAccessPermissionGranted flag r=baku
The mStorageAccessPermissionGranted variable determins the result of
HasStorageAccess API, which should sync with the result of the
ContentBlocking::ShouldAllowAccessFor.

This patch removes using nsGloWindowOuter's logic and alwasys use
ShouldAllowAccessFor while creating a new document.

Differential Revision: https://phabricator.services.mozilla.com/D78634
2020-06-17 05:06:37 +00:00
Coroiu Cristina
7bc26653a5 Backed out 2 changesets (bug 1622212) for build bustage at /dom/base/nsGlobalWindowOuter.cpp on a CLOSED TREE
Backed out changeset 9ab804814442 (bug 1622212)
Backed out changeset 07a08a71e259 (bug 1622212)
2020-06-16 10:38:40 +03:00
Dimi Lee
377ec50db0 Bug 1622212 - P1. Always use ContentBlocking::ShouldAllowAccessFor to set mStorageAccessPermissionGranted flag r=baku
The mStorageAccessPermissionGranted variable determins the result of
HasStorageAccess API, which should sync with the result of the
ContentBlocking::ShouldAllowAccessFor.

This patch removes using nsGloWindowOuter's logic and alwasys use
ShouldAllowAccessFor while creating a new document.

Differential Revision: https://phabricator.services.mozilla.com/D78634
2020-06-16 07:15:52 +00:00
Nika Layzell
f0cda86000 Bug 1508306 - Part 1: Migate the Large-Allocation handler to DocumentLoadListener, r=mattwoodrow,necko-reviewers,geckoview-reviewers,agi,valentin
This removes the diagnostic warnings which used to be logged when the
Large-Allocation header was present, but failed to switch into a
Large-Allocation process. Due to the low adoption of the header, this shouldn't
be too large of a problem, but we can look into re-adding the diagnostics if
needed in the future.

The new codepath no longer performs multiple network requests for
Large-Allocation resources, and now relies on the battle-tested
DocumentLoadListener codepath for process switching.

Differential Revision: https://phabricator.services.mozilla.com/D78998
2020-06-15 23:24:07 +00:00
Narcis Beleuzu
a4b06a5d82 Backed out 10 changesets (bug 1508306, bug 1640019) for bc failures on browser_autoOpen.js . CLOSED TREE
Backed out changeset 8844170ff408 (bug 1508306)
Backed out changeset b750f1d873cf (bug 1508306)
Backed out changeset c7170e76e676 (bug 1640019)
Backed out changeset 5905995e4815 (bug 1640019)
Backed out changeset 7bf86513348e (bug 1640019)
Backed out changeset f7d0605295f7 (bug 1640019)
Backed out changeset 521b4d5a9a89 (bug 1640019)
Backed out changeset 8542edc564bc (bug 1640019)
Backed out changeset 4f6a03152526 (bug 1640019)
Backed out changeset 30d2bf04719b (bug 1640019)
2020-06-12 22:47:50 +03:00
Nika Layzell
1d09a3c359 Bug 1508306 - Part 1: Migate the Large-Allocation handler to DocumentLoadListener, r=mattwoodrow,necko-reviewers,geckoview-reviewers,agi,valentin
This removes the diagnostic warnings which used to be logged when the
Large-Allocation header was present, but failed to switch into a
Large-Allocation process. Due to the low adoption of the header, this shouldn't
be too large of a problem, but we can look into re-adding the diagnostics if
needed in the future.

The new codepath no longer performs multiple network requests for
Large-Allocation resources, and now relies on the battle-tested
DocumentLoadListener codepath for process switching.

Differential Revision: https://phabricator.services.mozilla.com/D78998
2020-06-12 16:52:13 +00:00
Kartikaya Gupta
de49d55599 Bug 1644271 - Move the innerWidth/Height overriding behavior to be conditional on a more appropriate check. r=tnikkel
This code really cares about the case with a CSS viewport, which is only
activated with mobile viewport sizing.

Differential Revision: https://phabricator.services.mozilla.com/D79228
2020-06-12 01:15:03 +00:00
Peter Van der Beken
40affabb9d Bug 1643457 - Support ChromeOnly properties on remote proxies. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D78360
2020-06-05 12:45:40 +00:00
Andrea Marchesini
bd6a9308f6 Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 3 - Cleanup storage access methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76916
2020-06-03 06:10:58 +00:00
Andrea Marchesini
aaa2675e18 Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 2 - Expose PartitionedPrincipal, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76915
2020-06-03 06:09:52 +00:00
Csoregi Natalia
ed3350ab9b Backed out 5 changesets (bug 1639833) for failures on browser_blockingIndexedDbInWorkers.js. CLOSED TREE
Backed out changeset 6b4f76d65540 (bug 1639833)
Backed out changeset c77acba1aacb (bug 1639833)
Backed out changeset 30c97666919e (bug 1639833)
Backed out changeset d769b313441a (bug 1639833)
Backed out changeset ed41b41d1b03 (bug 1639833)
2020-06-02 15:02:31 +03:00
Andrea Marchesini
94eab0e791 Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 3 - Cleanup storage access methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76916
2020-06-02 08:29:15 +00:00
Andrea Marchesini
88b78d701a Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 2 - Expose PartitionedPrincipal, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76915
2020-06-02 08:28:05 +00:00
Olli Pettay
850949f6d2 Bug 1353466, 'A browsing context is script-closable ... if it is a top-level browsing context whose session history contains only one Document', r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D76006
2020-06-01 20:01:11 +00:00
Kashav Madan
ae3487ce52 Bug 1557407 - Replace DispatchTrustedEvent with DispatchEventOnlyToChrome for various chrome-only events, r=smaug
Adds an |aChromeOnlyDispatch| flag to DispatchCustomEvent to decide whether
to call DispatchTrustEvent or DispatchEventOnlyToChrome.

The following chrome-only events are dispatched with DispatchCustomEvent and now
make use of the flag:

- DOMWindowClose
- fullscreen / willenterfullscreen / willexitfullscreen
- occlusionstatechange
- resolutionchange
- XULAlertClose

and the following were previously dispatched with DispatchTrustedEvent and now
use DispatchEventOnlyToChrome:

- MozBeforeInitialXULLayout
- MozMouseScrollFailed / MozMouseScrollTransactionTimeout
- MozPaintWait / MozPaintWaitFinished
- MozPerformDelayedBlur
- all events fired by APZCCallbackHelper::NotifyMozMouseScrollEvent

Differential Revision: https://phabricator.services.mozilla.com/D76723
2020-06-01 17:11:48 +00:00
Noemi Erli
2b060384fc Backed out 5 changesets (bug 1639833) for causing sessionstorage related failures CLOSED TREE
Backed out changeset b36af8d9db34 (bug 1639833)
Backed out changeset 712c11904dbe (bug 1639833)
Backed out changeset 14f1e4783582 (bug 1639833)
Backed out changeset b7f14c4cfe5d (bug 1639833)
Backed out changeset b4b25034dd83 (bug 1639833)
2020-06-01 19:31:50 +03:00
Andrea Marchesini
28760b5629 Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 3 - Cleanup storage access methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76916
2020-06-01 11:07:36 +00:00