Commit Graph

228 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
6f93d6f391 Bug 1669925 - Add a printing.trigger keyed scalar to record what triggers a particular print dialog. r=jwatt,marionette-reviewers,maja_zf
In order to avoid over/under-counting, we need to treat window.print()
specially. The new UI was using aOpenWindowInfo.isForPrintPreview for
that, but that doesn't quite work for the old UI (because it will
trigger a regular print, not a preview).

But since isForPrintPreview was only really needed to distinguish
window.print(), just rename it and set it to true when the old UI is
triggered by window.print() as well.

Differential Revision: https://phabricator.services.mozilla.com/D92925
2020-10-09 14:59:46 +00:00
Emilio Cobos Álvarez
cf5b61e76d Bug 1667723 - Don't block opening the print dialog if the page sandbox auxiliary navigations. r=nika
Matches other browsers and fixes the regression. Print dialogs really
aren't an auxiliary navigation, even though we implement them similarly.

Differential Revision: https://phabricator.services.mozilla.com/D91739
2020-09-29 15:47:11 +00:00
Simon Giesecke
ab6f0a7137 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Nika Layzell
cbb7e8111c Bug 1659696 - Check PendingInitialization before targeting in window.open, r=kmag
This requires adding the flag as a synced field on the BrowsingContext, and
checking it in a few more places. Attempts to open a new window in this racy
manner will now raise an exception.

This should avoid the issue from bug 1658854 by blocking the buggy attempts to
load before the nested event loop has been exited.

Differential Revision: https://phabricator.services.mozilla.com/D87927
2020-09-16 20:47:55 +00:00
Tooru Fujisawa
735923df57 Bug 1663500 - Revert bug 1661643 change and resurrect browser.link.open_newwindow=1. r=Gijs,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D89447
2020-09-08 12:09:43 +00:00
Tooru Fujisawa
34ac1f4f95 Bug 1661643 - Remove browser.link.open_newwindow=1. r=preferences-reviewers,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D88572
2020-08-28 13:44:46 +00:00
Emilio Cobos Álvarez
2c0dea8fd4 Bug 1636728 - Centralize printing entry points in nsGlobalWindowOuter, and move cloning out of nsPrintJob. r=jwatt,geckoview-reviewers,smaug,agi
This centralizes our print and preview setup in nsGlobalWindowOuter so
that we never re-clone a clone, and so that we reuse the window.open()
codepath to create the browsing context to clone into.

For window.print, for both old print dialog / silent printing and new
print preview UI, we now create a hidden browser (as in with visibility:
collapse, which takes no space but still gets a layout box).

 * In the modern UI case, this browser is swapped with the actual print
   preview clone, and the UI takes care of removing the browser.

 * In the print dialog / silent printing case, the printing code calls
   window.close() from nsDocumentViewer::OnDonePrinting().

 * We don't need to care about the old print preview UI for this case
   because it can't be open from window.print().

We need to fall back to an actual window when there's no
nsIBrowserDOMWindow around for WPT print tests and the like, which don't
have one. That seems fine, we could special-case this code path more if
needed but it doesn't seem worth it.

Differential Revision: https://phabricator.services.mozilla.com/D87063
2020-08-25 17:45:12 +00:00
Edgar Chen
6fed29e010 Bug 1611961 - Move UserActivationState from BrowsingContext to WindowContext; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D83126
2020-08-17 11:02:34 +00:00
Csoregi Natalia
1d46598d45 Backed out 3 changesets (bug 1648887, bug 1611961) for assertion failures on WindowContext.cpp. CLOSED TREE
Backed out changeset 3719f7db339d (bug 1648887)
Backed out changeset b7c7fcb5df37 (bug 1648887)
Backed out changeset ab82a9c613f8 (bug 1611961)
2020-08-06 17:43:51 +03:00
Edgar Chen
ef727eb50f Bug 1611961 - Move UserActivationState from BrowsingContext to WindowContext; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D83126
2020-08-06 10:25:00 +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
Sebastian Streich
346b193c48 Bug 1558394 - Pass the TriggeringSandboxFlags to nsILoadinfo r=ckerschb,smaug,necko-reviewers,valentin
Add triggering Sandbox flags to loadinfo
***
Pass triggering Flags into Loadinfo

***
Fix triggeringSandboxflags passing

Differential Revision: https://phabricator.services.mozilla.com/D69588
2020-07-29 11:43:23 +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
Simon Giesecke
a89b3bd48b Bug 1653229 - Remove unnecessary includes for BindingUtils.h. r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D83771
2020-07-22 15:12:10 +00:00
Tooru Fujisawa
510e816a77 Bug 1623826 - Do not expose outerWidth/outerHeight features of window.open to web content. r=smaug
Depends on D81969

Differential Revision: https://phabricator.services.mozilla.com/D81970
2020-07-15 04:40:08 +00:00
Tooru Fujisawa
8e09fa4df1 Bug 1645084 - Stop collecting telemetry for outerWidth/outerHeight features of window.open in web content. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D81969
2020-07-15 04:40:01 +00:00
Razvan Maries
4cd919d687 Backed out 2 changesets (bug 1623826, bug 1645084) for perma failures on browser_popup_condition.js. CLOSED TREE
Backed out changeset 2acb78b73c26 (bug 1623826)
Backed out changeset 91a58ff5ad11 (bug 1645084)
2020-07-14 19:30:06 +03:00
Tooru Fujisawa
af5e5a01c6 Bug 1623826 - Do not expose outerWidth/outerHeight features of window.open to web content. r=smaug
Depends on D81969

Differential Revision: https://phabricator.services.mozilla.com/D81970
2020-07-14 13:23:50 +00:00
Tooru Fujisawa
1f21836be0 Bug 1645084 - Stop collecting telemetry for outerWidth/outerHeight features of window.open in web content. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D81969
2020-07-14 13:23:38 +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
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
Nika Layzell
917407823b Bug 1638793 - Ensure OriginAttributes is set on OpenWindowInfo for expanded principals, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D79471
2020-06-12 19:39:51 +00:00
Kashav Madan
28a7ad7a0f Bug 1641929 - Replace uses of StaticPrefs::fission_autostart() with FissionAutostart(), r=nika
Differential Revision: https://phabricator.services.mozilla.com/D78799
2020-06-08 23:00:21 +00:00
Nika Layzell
57d9580412 Bug 1637057 - Part 2: Clarify ComputeChromeFlags method names, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D75611
2020-05-18 18:23:48 +00:00
Nika Layzell
9efd647abb Bug 1637057 - Part 1: Ensure that ChromeFlags are propagated consistently between content owners, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D75610
2020-05-18 18:23:35 +00:00
Kris Maglione
4585b2c550 Bug 1597506: Get rid of GetWindowTreeItem/Owner. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D75403
2020-05-19 19:38:31 +00:00
Razvan Maries
d336b082f0 Backed out 2 changesets (bug 1558394) for perma failures on iframe_sandbox_anchor_download_block_downloads.sub.tentative.html. CLOSED TREE
Backed out changeset 79046ff8143b (bug 1558394)
Backed out changeset e13ede3c68d4 (bug 1558394)
2020-05-15 19:18:34 +03:00
Sebastian Streich
e6e8319b1d Bug 1558394 - Pass the TriggeringSandboxFlags to nsILoadinfo r=ckerschb,smaug,necko-reviewers,valentin
Add triggering Sandbox flags to loadinfo
***
Pass triggering Flags into Loadinfo

Differential Revision: https://phabricator.services.mozilla.com/D69588
2020-05-15 14:03:28 +00:00
Bogdan Tara
0372d293b3 Backed out 2 changesets (bug 1558394) for nsDocShellLoadState related bustage CLOSED TREE
Backed out changeset 5889105bd089 (bug 1558394)
Backed out changeset 80a0ea17c9f8 (bug 1558394)
2020-05-14 15:17:32 +03:00
Sebastian Streich
071f7a395c Bug 1558394 - Pass the TriggeringSandboxFlags to nsILoadinfo r=ckerschb,smaug,necko-reviewers,valentin
Add triggering Sandbox flags to loadinfo
***
Pass triggering Flags into Loadinfo

Differential Revision: https://phabricator.services.mozilla.com/D69588
2020-05-14 10:04:44 +00:00
Nika Layzell
d111c0e0dc Bug 1633820 - Part 5: Get rid of UnsafeIPCTabContext, r=kmag
This variant was only used for service workers' openWindow method, which has
been changed to no longer behave in this way, meaning that the type can be
removed. The follow-up simplification of removing
'ContentChild::ProvideWindowCommon', and moving the logic directly into
'BrowserChild' is not done in this bug, and will be done in a follow-up instead.

Differential Revision: https://phabricator.services.mozilla.com/D72935
2020-05-07 22:18:56 +00:00
Razvan Maries
a08d605e41 Backed out 5 changesets (bug 1633820) for build bustages at TabContext.cpp. CLOSED TREE
Backed out changeset 0a20dd1935d7 (bug 1633820)
Backed out changeset 626e834293ed (bug 1633820)
Backed out changeset 14cc454a8cbc (bug 1633820)
Backed out changeset 7bbcb9266b87 (bug 1633820)
Backed out changeset ef99672bd2af (bug 1633820)
2020-05-08 00:59:20 +03:00
Nika Layzell
1b29a1dc1c Bug 1633820 - Part 5: Get rid of UnsafeIPCTabContext, r=kmag
This variant was only used for service workers' openWindow method, which has
been changed to no longer behave in this way, meaning that the type can be
removed. The follow-up simplification of removing
'ContentChild::ProvideWindowCommon', and moving the logic directly into
'BrowserChild' is not done in this bug, and will be done in a follow-up instead.

Differential Revision: https://phabricator.services.mozilla.com/D72935
2020-05-07 17:18:58 +00:00
Bogdan Tara
61effcd0d6 Backed out 5 changesets (bug 1633820) for bustages complaining about TabContext CLOSED TREE
Backed out changeset 4982d41d5e6b (bug 1633820)
Backed out changeset 9803c41e42f9 (bug 1633820)
Backed out changeset 2475bbab03a8 (bug 1633820)
Backed out changeset 762f0b2c154c (bug 1633820)
Backed out changeset f9ea871a0227 (bug 1633820)
2020-05-06 22:39:46 +03:00
Nika Layzell
5931c7515c Bug 1633820 - Part 5: Get rid of UnsafeIPCTabContext, r=kmag
This variant was only used for service workers' openWindow method, which has
been changed to no longer behave in this way, meaning that the type can be
removed. The follow-up simplification of removing
'ContentChild::ProvideWindowCommon', and moving the logic directly into
'BrowserChild' is not done in this bug, and will be done in a follow-up instead.

Differential Revision: https://phabricator.services.mozilla.com/D72935
2020-05-06 17:42:51 +00:00
Nika Layzell
d50e179778 Bug 1633839 - Don't try to fall back to nsIWindowCreator in the content process, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D72928
2020-05-05 19:34:31 +00:00
Emilio Cobos Álvarez
9a8c41776d Bug 1635094 - Cleanup the ReferrerInfo code. r=ckerschb
The cast in InitWithNode is wrong. AsElement() asserts instead of
checking the flag, so we always pass an element (and if we didn't we'd
have type confusion problems). I audited the callers and we're fine.

Anyhow, always require an element, and add two convenience constructors
for C++ code.

Differential Revision: https://phabricator.services.mozilla.com/D73636
2020-05-04 18:50:20 +00:00
Cosmin Sabou
00d059a4c0 Backed out 2 changesets (bug 1635094) for build bustages on nsMacShellService.cpp. CLOSED TREE
Backed out changeset 0a2b0c6ea19a (bug 1635094)
Backed out changeset ead4f26f76ee (bug 1635094)
2020-05-04 20:04:06 +03:00
Emilio Cobos Álvarez
41fba10f7f Bug 1635094 - Cleanup the ReferrerInfo code. r=ckerschb
The cast in InitWithNode is wrong. AsElement() asserts instead of
checking the flag, so we always pass an element (and if we didn't we'd
have type confusion problems). I audited the callers and we're fine.

Anyhow, always require an element, and add two convenience constructors
for C++ code.

Differential Revision: https://phabricator.services.mozilla.com/D73636
2020-05-04 16:26:51 +00:00
Andrea Marchesini
6d1464a148 Bug 1634470 - Make OriginAttributes assertion in nsWindowWatcher::OpenWindowInternal compatible with FPI, r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D73307
2020-04-30 17:08:32 +00:00
Simon Giesecke
ea268054bd Bug 1628715 - Part 7: Add MOZ_NONNULL_RETURN to infallible nsTArray::AppendElements. r=xpcom-reviewers,necko-reviewers,nika,valentin
Differential Revision: https://phabricator.services.mozilla.com/D70831
2020-04-24 13:31:14 +00:00
Kris Maglione
acbf8d7bf7 Bug 1614462: Part 3b - Remove moribund DocShell FrameType/IsMozBrowser/IsInMozBrowser fields. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70749
2020-04-20 22:15:24 +00:00
Ciure Andrei
9957be4184 Backed out 10 changesets (bug 1614462) for causing test_ipc_messagemanager_blob.js failures CLOSED TREE
Backed out changeset bf4f8253c708 (bug 1614462)
Backed out changeset c61b797d63e9 (bug 1614462)
Backed out changeset 284002de7137 (bug 1614462)
Backed out changeset 7f604ee5731c (bug 1614462)
Backed out changeset a73ef8167cd4 (bug 1614462)
Backed out changeset ecc3477ed34e (bug 1614462)
Backed out changeset 2106f3ccc4b5 (bug 1614462)
Backed out changeset e68c38a7741d (bug 1614462)
Backed out changeset 93b3bacdbb34 (bug 1614462)
Backed out changeset 0cf4898ae08d (bug 1614462)
2020-04-21 01:11:37 +03:00
Kris Maglione
739561a72a Bug 1614462: Part 3b - Remove moribund DocShell FrameType/IsMozBrowser/IsInMozBrowser fields. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70749
2020-04-20 20:11:52 +00:00
Ciure Andrei
ea1e3cbe28 Backed out 10 changesets (bug 1614462) for causing xpcshell failures CLOSED TREE
Backed out changeset 34d4a86530b4 (bug 1614462)
Backed out changeset dbc2e2556d08 (bug 1614462)
Backed out changeset 512bbab4730c (bug 1614462)
Backed out changeset cd6b8d630f4c (bug 1614462)
Backed out changeset e4ad5037658f (bug 1614462)
Backed out changeset 0ffed1dc4296 (bug 1614462)
Backed out changeset 90ed81cbfe34 (bug 1614462)
Backed out changeset 6d2137eb1d52 (bug 1614462)
Backed out changeset b4819c99e16e (bug 1614462)
Backed out changeset b7deaed376ed (bug 1614462)
2020-04-17 02:26:14 +03:00
Kris Maglione
14ee8f4119 Bug 1614462: Part 3b - Remove moribund DocShell FrameType/IsMozBrowser/IsInMozBrowser fields. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70749
2020-04-16 17:25:06 +00:00
Christoph Kerschbaumer
a923c367b1 Bug 1621987: Implement Sec-Fetch-User. r=baku,edgar,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D69392
2020-04-16 08:04:26 +00:00
Tooru Fujisawa
78b7a8908c Bug 1624150 - Collect telemetry for outerWidth/outerHeight features of window.open in web content. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D67765
2020-04-14 06:00:26 +00:00
Tooru Fujisawa
748fd470d3 Bug 1432749 - Part 2: Introduce WindowFeature class with spec-compliant tokenization, and use it both in nsGlobalWindowOuter and nsWindowWatcher. r=smaug
WindowFeature provides the tokenization and access to the map.
This changes the following behavior:
  * "*" value is removed, given it's unused.
    * Default width and default height handling is removed,
      given there's no callsites
  * Some chrome-priv feature handling becomes stricter:
    * All substring match is removed and directly checks the item in the map

Also, fixed noopener=0 and noreferrer=0 options to be handled properly.

Differential Revision: https://phabricator.services.mozilla.com/D67725
2020-04-14 06:27:47 +00:00
Narcis Beleuzu
8f3be16cf1 Backed out 3 changesets (bug 1624150, bug 1432749) for wpt failures at open-features-tokenization-top-left.html. CLOSED TREE
Backed out changeset ff061c8d9da9 (bug 1624150)
Backed out changeset 7e96d4acf317 (bug 1432749)
Backed out changeset a95f77732a1c (bug 1432749)
2020-04-13 22:51:48 +03:00