Commit Graph

762 Commits

Author SHA1 Message Date
William Wen
795dad3b68 Bug 1913000 - Add more rate limiting to History interface. r=webidl,smaug,webdriver-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D221255
2024-09-19 16:09:02 +00:00
Nicolas Chevobbe
f66eb0793b Bug 1916589 - Add forcedColorsOverride flag to BrowsingContext. r=emilio.
Depends on D221773

Differential Revision: https://phabricator.services.mozilla.com/D221334
2024-09-17 10:17:57 +00:00
Valentin Gosu
5083ae5be8 Bug 1888494 - Make CanonicalBrowsingContext::FixupAndLoadURIString check set the correct TRR mode r=nika
It would seem sometimes in Firefox 77 we regressed the ability to set the TRR
mode for a browsing context when opening a new tab.
I confirmed that this bug didn't happen in Fx 77 when setting the
`browser.tabs.documentchannel.parent-initiated` pref to `false`.

The nsIWebNavigation::LOAD_FLAGS_DISABLE_TRR is correctly passed into
CanonicalBrowsingContext, but it doesn't end up getting used.

This sets the appropriate DefaultLoadFlags for BrowsingContext
when the LOAD_FLAGS_DISABLE_TRR or LOAD_TRR_ONLY_MODE flags are present
in nsDocShellLoadState::LoadFlags()

Differential Revision: https://phabricator.services.mozilla.com/D220550
2024-09-03 13:07:59 +00:00
Nika Layzell
e7de59b3da Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8
Previously these checks were largely diagnostic tools for finding bugs
in other code as it evolves. This unifies the checks a bit more and
makes them stronger for BrowsingContexts created over IPC, providing a
place for more coherency checks to be added in the future.

Differential Revision: https://phabricator.services.mozilla.com/D218860
2024-08-09 16:06:13 +00:00
Oliver Medhurst
ab626b71a4 Bug 1896672 - Check user activation for openBlocked popup blocker state r=smaug
Enabled behind new `dom.popup.experimental` pref, off by default.

Differential Revision: https://phabricator.services.mozilla.com/D215361
2024-07-31 12:19:01 +00:00
Nika Layzell
11d3698341 Bug 1681457 - Allow non-auxiliary BrowsingContexts created by script to close themselves, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D211792
2024-06-05 00:06:48 +00:00
Norisz Fay
ed9f22a2fc Backed out changeset 1034029ae9ed (bug 1681457) for causing failures on test_window_close.html CLOSED TREE 2024-06-01 00:10:26 +03:00
Nika Layzell
7025bc892e Bug 1681457 - Allow non-auxiliary BrowsingContexts created by script to close themselves, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D211792
2024-05-31 17:27:15 +00:00
Gabriele Svelto
e1e9346196 Bug 1831092 - Use the new pull-based API for all crash annotations and remove the global annotations table r=jgilbert,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,padenot,handyman,afranchuk,valentin,alwu,sotaro
This changes comes with several different refactorings all rolled into one,
unfotunately I couldn't find a way to pull them apart:
- First of all annotations now can either recorded (that is, we copy the value
  and have the crash reporting code own the copy) or registered. Several
  annotations are changed to use this functionality so that we don't need to
  update them as their value change.
- The code in the exception handler is modified to read the annotations from
  the mozannotation_client crate. This has the unfortunate side-effect that
  we need three different bits of code to serialize them: one for annotations
  read from a child process, one for reading annotations from the main process
  outside of the exception handler and one for reading annotations from the
  main process within the exception handler. As we move to fully
  out-of-process crash reporting the last two methods will go away.
- The mozannotation_client crate now doesn't record annotation types anymore.
  I realized as I was working on this that storing types at runtime has two
  issues: the first one is that buggy code might change the type of an
  annotation (that is record it under two different types at two different
  moments), the second issue is that types might become corrupt during a
  crash, so better enforce them at annotation-writing time. The end result is
  that the mozannotation_* crates now only store byte buffers, track the
  format the data is stored in (null-terminated string, fixed size buffer,
  etc...) but not the type of data each annotation is supposed to contain.
- Which brings us to the next change: concrete types for annotations are now
  enforced when they're written out. If an annotation doesn't match the
  expected type it's skipped. Storing an annotation with the wrong type will
  also trigger an assertion in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D195248
2024-03-04 10:24:43 +00:00
Peter Van der Beken
29ebd94e8a Bug 1640839 - Add IPC serializer for WebIDL enums. r=mccr8,jgilbert,media-playback-reviewers,dom-storage-reviewers,janv,padenot
Differential Revision: https://phabricator.services.mozilla.com/D201339
2024-03-02 07:50:22 +00:00
Natalia Csoregi
10b9ceb789 Backed out 13 changesets (bug 1640839) for causing bustage on Element.cpp CLOSED TREE
Backed out changeset 179ceb82c9e5 (bug 1640839)
Backed out changeset 73f498a821f0 (bug 1640839)
Backed out changeset dc2d3d0e0365 (bug 1640839)
Backed out changeset ddc989ac0509 (bug 1640839)
Backed out changeset e595bb3feea8 (bug 1640839)
Backed out changeset c85aca04e27f (bug 1640839)
Backed out changeset 98e8e3a4047a (bug 1640839)
Backed out changeset 59ef180517db (bug 1640839)
Backed out changeset af2f5e293662 (bug 1640839)
Backed out changeset 89aa6d9dc598 (bug 1640839)
Backed out changeset 67b722a722f9 (bug 1640839)
Backed out changeset 24a9665c6ced (bug 1640839)
Backed out changeset d93f199385e9 (bug 1640839)
2024-03-01 18:23:08 +02:00
Peter Van der Beken
29b6d7ad30 Bug 1640839 - Add IPC serializer for WebIDL enums. r=mccr8,jgilbert,media-playback-reviewers,dom-storage-reviewers,janv,padenot
Differential Revision: https://phabricator.services.mozilla.com/D201339
2024-03-01 14:31:12 +00:00
Emilio Cobos Álvarez
5a714b595c Bug 1875100 - Propagate top level activeness automatically to top descendants. r=nika,tabbrowser-reviewers,mconley,extension-reviewers,robwu,geckoview-reviewers,owlish,kaya
For that, opt in tabbrowser and the shopping sidebar to manual
activeness management.

Differential Revision: https://phabricator.services.mozilla.com/D198942
2024-02-07 10:58:15 +00:00
Cristian Tuns
77579088f3 Backed out changeset ecd780688279 (bug 1875100) for causing mochitest failures in test_suspend_media_by_inactive_docshell.html 2024-02-07 01:25:21 -05:00
Emilio Cobos Álvarez
a6a14d3ed6 Bug 1875100 - Propagate top level activeness automatically to top descendants. r=nika,tabbrowser-reviewers,mconley,extension-reviewers,robwu,geckoview-reviewers,owlish
For that, opt in tabbrowser and the shopping sidebar to manual
activeness management.

Differential Revision: https://phabricator.services.mozilla.com/D198942
2024-02-06 21:47:37 +00:00
Tom Schuster
2b5651c78d Bug 1876276 - Remove dead nsIDocShell allowPlugins code. r=emilio,sessionstore-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D199491
2024-01-31 13:23:52 +00:00
Iulian Moraru
8caca1df07 Backed out changeset 4871c819b21e (bug 1876276) for causing multiple bc failures. CLOSED TREE 2024-01-31 14:25:42 +02:00
Tom Schuster
00fcd6f011 Bug 1876276 - Remove dead nsIDocShell allowPlugins code. r=emilio,sessionstore-reviewers,dao
Differential Revision: https://phabricator.services.mozilla.com/D199491
2024-01-31 09:36:36 +00:00
Emilio Cobos Álvarez
ca8e85e34b Bug 1877242 - Avoid some unnecessary refcounting churn when accessing parent-cross-chrome-boundary. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D199901
2024-01-30 23:24:43 +00:00
Tom Schuster
f20ecbedcd Bug 1875466 - Remove nsContentUtils::ShouldHideObjectOrEmbedImageDocument. r=emilio
Depends on D199114

Differential Revision: https://phabricator.services.mozilla.com/D199115
2024-01-22 14:26:10 +00:00
Tooru Fujisawa
95bdb671e8 Bug 1873330 - Part 4: Add UserActivation::Modifiers getters. r=smaug
In order to use the modifiers in nsGlobalWindowOuter::OpenInternal, add accessor
methods to BrowsingContext, Document, and WindowContext.
Those accessors behave in the same way as ConsumeTransientUserGestureActivation
and RevisePopupAbuseLevel, except for checking the PopupBlocker state.

Differential Revision: https://phabricator.services.mozilla.com/D197862
2024-01-11 17:24:02 +00:00
Emilio Cobos Álvarez
89680bb71d Bug 1873967 - Simplify dom_separate_event_queue_for_post_message_enabled checks. r=sefeng
Differential Revision: https://phabricator.services.mozilla.com/D198183
2024-01-10 22:33:17 +00:00
dylan
2c223dc63c Bug 1156659 - Added set offline per tab to BrowsingContext. r=valentin,nika,necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D187704
2023-10-04 19:42:57 +00:00
Norisz Fay
6ae0ebd216 Backed out 2 changesets (bug 1156659) for causing dt failures on browser_net_throttle.js CLOSED TREE
Backed out changeset af64e5a0109a (bug 1156659)
Backed out changeset 7e9b86bce76b (bug 1156659)
2023-10-02 16:11:21 +03:00
dylan
b37b5aaba2 Bug 1156659 - Added set offline per tab to BrowsingContext. r=valentin,nika,necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D187704
2023-10-02 04:13:43 +00:00
Sandor Molnar
b16754676a Backed out 2 changesets (bug 1156659) for causing multiple dt failures on browser_jsterm_evaluation_context_selector_targets_update/browser_jsterm_file_load_save_keyboard_shortcut/browser_jsterm_focus_reload/etc CLOSED TREE
Backed out changeset 72676017aaf3 (bug 1156659)
Backed out changeset c5e205051938 (bug 1156659)
2023-09-26 19:54:00 +03:00
dylan
4159bac62f Bug 1156659 - Added set offline per tab to BrowsingContext. r=valentin,nika,necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D187704
2023-09-26 15:33:34 +00:00
Emilio Cobos Álvarez
93252b3465 Bug 1847584 - Account for IsUnderHiddenEmbedderElement() for BrowserChild visibility. r=smaug
Test by Gijs. Note that I removed the .isActive assertion, because this doesn't
affect activeness.

We could make that change too, but that's a bigger change, and I think we want
to do this regardless.

The CAN_RUN_SCRIPT annotations are obsolete (they come from bug 1582042
which directly fired docshell activity events, but that's not true
anymore, bug 1635914 changed the setup a bit later).

Differential Revision: https://phabricator.services.mozilla.com/D185643
2023-09-05 16:13:00 +00:00
Markus Stange
70bd936589 Bug 1843484 - Use EventTarget* instead of nsISupports* for the event target parameter of the nsContentUtils::Dispatch methods. r=smaug
This saves a few queryInterface calls on the hot path.

Differential Revision: https://phabricator.services.mozilla.com/D186976
2023-08-28 23:38:42 +00:00
Cristian Tuns
58e4ef4e8e Backed out changeset a741e0bcdca4 (bug 1847584) for causing bc failures in browser_reload_tab.js CLOSED TREE 2023-08-18 14:24:03 -04:00
Emilio Cobos Álvarez
91faba9e00 Bug 1847584 - Account for IsUnderHiddenEmbedderElement() for BrowserChild visibility. r=smaug
Test by Gijs. Note that I removed the .isActive assertion, because this doesn't
affect activeness.

We could make that change too, but that's a bigger change, and I think we want
to do this regardless.

The CAN_RUN_SCRIPT annotations are obsolete (they come from bug 1582042
which directly fired docshell activity events, but that's not true
anymore, bug 1635914 changed the setup a bit later).

Differential Revision: https://phabricator.services.mozilla.com/D185643
2023-08-18 16:17:31 +00:00
Emilio Cobos Álvarez
913904e183 Bug 1847584 - Misc BrowserChild clean-ups. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D185642
2023-08-09 13:08:59 +00:00
Natalia Csoregi
f2ac649fc6 Backed out 3 changesets (bug 1847584) for causing vsync failures. CLOSED TREE
Backed out changeset bdfc3c7388cf (bug 1847584)
Backed out changeset 54b34c76db47 (bug 1847584)
Backed out changeset 03bf43b4ae07 (bug 1847584)
2023-08-09 15:47:03 +03:00
Emilio Cobos Álvarez
c6e1796127 Bug 1847584 - Account for IsUnderHiddenEmbedderElement() for BrowserChild visibility. r=smaug
Test by Gijs. Note that I removed the .isActive assertion, because this doesn't
affect activeness.

We could make that change too, but that's a bigger change, and I think we want
to do this regardless.

The CAN_RUN_SCRIPT annotations are obsolete (they come from bug 1582042
which directly fired docshell activity events, but that's not true
anymore, bug 1635914 changed the setup a bit later).

Differential Revision: https://phabricator.services.mozilla.com/D185643
2023-08-09 10:57:42 +00:00
Emilio Cobos Álvarez
5d9ee8cee0 Bug 1847584 - Misc BrowserChild clean-ups. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D185642
2023-08-09 09:32:27 +00:00
Emilio Cobos Álvarez
d25b96e2cb Bug 1846500 - Inherit color scheme override from opener. r=pbz
Differential Revision: https://phabricator.services.mozilla.com/D185166
2023-08-08 11:32:03 +00:00
Olli Pettay
3f2cf8ccea Bug 1843239, optimize Location.hash, r=peterv,dom-core
Differential Revision: https://phabricator.services.mozilla.com/D183788
2023-08-07 12:31:25 +00:00
Peter Van der Beken
5dc8782829 Bug 1846277 - Untangle nsGlobalWindow*.h includes. r=dom-core,media-playback-reviewers,sessionstore-reviewers,padenot,farre
Differential Revision: https://phabricator.services.mozilla.com/D184978
2023-08-02 20:41:49 +00:00
Olli Pettay
1428a90aea Bug 1845924, no need for DIAGNOSTIC_ASSERT, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D185040
2023-08-01 13:37:57 +00:00
Peter Van der Beken
9ec5838ef5 Bug 1843968 - Hold some strong references. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D184803
2023-08-01 12:09:36 +00:00
Stanca Serban
1b43e10d05 Backed out changeset ce4f02a4ad1e (bug 1843239) for causing multiple failures. CLOSED TREE 2023-07-31 19:06:51 +03:00
Olli Pettay
91e0558e8d Bug 1843239, [Cached] Location.hash, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D183788
2023-07-31 11:15:17 +00:00
Nika Layzell
b66f435848 Bug 1838686 - Check for content-initiated file URI loads in content, r=smaug,necko-reviewers,jesup
The goal of this change is to detect content-initiated file URI loads
earlier such that crash stacks give us a better idea of what is
responsible for starting these loads.

These assertions explicitly only fire for system-principal triggered
loads of file URIs, as those should never be happening from within a web
content process.

Differential Revision: https://phabricator.services.mozilla.com/D182223
2023-07-04 20:18:36 +00:00
James Teh
3b0b0de227 Bug 1831035 part 7: Remove (now empty) platform specific RemoteAccessible classes and rename RemoteAccessibleBase to RemoteAccessible. r=eeejay
This involved moving ApplyCache from the .h into the .cpp because now that the class is no longer a template, forward declaration of DocAccessibleParent is not sufficient.

Differential Revision: https://phabricator.services.mozilla.com/D181852
2023-06-26 21:20:13 +00:00
Neil Deakin
44b3909607 Bug 1776339, add a browsing context field that syncs the isUnderHiddenEmbedderElement state, r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D168440
2023-05-31 19:46:49 +00:00
Kris Maglione
dbb6845747 Bug 1828690: Change a parent assert to an IPC_FAIL. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D176392
2023-05-15 22:10:38 +00:00
Masayuki Nakano
68d5732829 Bug 1829570 - part 2: Add an overload of AsyncEventDispatcher::RunDOMEventWhenSafe r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D176488
2023-05-15 01:07:29 +00:00
Butkovits Atila
9ae202f535 Backed out changeset bcdd097c9a4f (bug 1828690) for causing mass failures. CLOSED TREE 2023-05-03 04:02:36 +03:00
Kris Maglione
54a7448832 Bug 1828690: Change a parent assert to an IPC_FAIL. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D176392
2023-05-02 23:58:57 +00:00
Andreas Farre
bba299fad6 Bug 1815663 - Pack synced fields. r=peterv
We use empty base optimization to reorder storage of synced fields to
loose as little as possible to padding.

Differential Revision: https://phabricator.services.mozilla.com/D173296
2023-03-29 13:00:15 +00:00