Commit Graph

194 Commits

Author SHA1 Message Date
Nika Layzell
e5267e854c Bug 1625513 - Part 1: Perform onMayChangeProcess handling within DocumentLoadListener, r=mattwoodrow,pbone,droeh,necko-reviewers,valentin
When I first added this method last year, I added it in JS, handled from within
SessionStore.jsm, as that was the easiest place to do it. Now that
DocumentLoadListener exists, it makes more sense to handle this logic directly
from within that code.

Many parts of the process switch are still handled by frontend JS, such as
selecting remote types, and performing toplevel process switches.

Differential Revision: https://phabricator.services.mozilla.com/D68594
2020-04-20 16:57:01 +00:00
pbz
94229b44a8 Bug 1615588 - Extended nsIPromptService to support tab modal prompts. r=johannh,MattN,necko-reviewers,dragana
This patch introduces a new tab modal system prompt type. It can be opened via the nsIPromptService
with a destination BrowsingContext. These tab system prompts overlap slightly with the upper
chrome UI to differentiate them from content prompts (previously called tab prompts).

- Extended nsIPromptService and nsIPrompt to accept 3 types of modal prompts:
  - Window prompts
  - Tab (system) prompts
  - Content prompts (the old tab prompts)
- Removed prompt code from Prompter.jsm, always call PromptParent window actor instead
- Added PromptChild window actor to forward pagehide events to parent actor
- Created additional prompt methods in nsIPromptService to prompt by browsingContext and modalType
- Backwards compatibility is maintained, consumers can still open content prompts calling nsIPrompt with a content window

Differential Revision: https://phabricator.services.mozilla.com/D66446
2020-04-16 14:43:50 +00:00
Csoregi Natalia
0e78df90ed Backed out 7 changesets (bug 1625615) for multiple failures e.g. /test_windowedhistoryframes.html. CLOSED TREE
Backed out changeset f239d24658c9 (bug 1625615)
Backed out changeset acea7c78db20 (bug 1625615)
Backed out changeset d709f5a72c35 (bug 1625615)
Backed out changeset 4cd231b1f3fb (bug 1625615)
Backed out changeset 45942c8dc380 (bug 1625615)
Backed out changeset 3f03a8703a8a (bug 1625615)
Backed out changeset e9299fc48796 (bug 1625615)
2020-04-16 00:32:16 +03:00
alwu
0ab6ac7a66 Bug 1625615 - part0 : create and set the flag suspendMediaWhenInactive on docShell. r=baku,farre
Implemecurnt a flag `suspendMediaWhenInactive` on the docShell that indicates media in that shell should be suspended when the shell is inactive. Currently, only GeckoView is using this flag.

---

The reason of implementing this flag is because in bug1577890 we remove the old way to suspend/resume the media, and I thought setting docshell to inactive is enough to suspend the media because we already have a mechanism which would suspend/resume media when document becomes inactive/active [1].

However, the active state of document is actually different from what I thought it was. Setting docshell to inactive won't change the document's active state, because that indicates if the document is the current active document for the docshell [2] (docshell can have multiple documents), instead of indicating if the docshell is active or not.

Therefore, we have to add another flag to indicate if the docshell wants to suspend its media when it's inactive, in order to use current mechanism to suspend/resume media.

[1] https://searchfox.org/mozilla-central/rev/4d2a9d5dc8f0e65807ee66e2b04c64596c643b7a/dom/html/HTMLMediaElement.cpp#6453
[2] https://searchfox.org/mozilla-central/rev/4d2a9d5dc8f0e65807ee66e2b04c64596c643b7a/dom/base/Document.h#2627-2633

Differential Revision: https://phabricator.services.mozilla.com/D69669
2020-04-15 18:13:29 +00:00
Csoregi Natalia
a3c8408007 Backed out 5 changesets (bug 1615588) for browser-chrome failures e.g. browser_beforeunload_duplicate_dialogs.js. CLOSED TREE
Backed out changeset 751cca7566a8 (bug 1615588)
Backed out changeset 474aca043834 (bug 1615588)
Backed out changeset 7839b95ef76c (bug 1615588)
Backed out changeset 32bb87f48b13 (bug 1615588)
Backed out changeset 264e642042b1 (bug 1615588)
2020-04-10 21:19:15 +03:00
pbz
79ef17c4dc Bug 1615588 - Extended nsIPromptService to support tab modal prompts. r=johannh,MattN
This patch introduces a new tab modal system prompt type. It can be opened via the nsIPromptService
with a destination BrowsingContext. These tab system prompts overlap slightly with the upper
chrome UI to differentiate them from content prompts (previously called tab prompts).

- Extended nsIPromptService and nsIPrompt to accept 3 types of modal prompts:
  - Window prompts
  - Tab (system) prompts
  - Content prompts (the old tab prompts)
- Removed prompt code from Prompter.jsm, always call PromptParent window actor instead
- Added PromptChild window actor to forward pagehide events to parent actor
- Created additional prompt methods in nsIPromptService to prompt by browsingContext and modalType
- Backwards compatibility is maintained, consumers can still open content prompts calling nsIPrompt with a content window

Differential Revision: https://phabricator.services.mozilla.com/D66446
2020-04-10 16:47:00 +00:00
Oana Pop Rus
0842848548 Backed out 2 changesets (bug 1625513) for bc failures in browser/base/content/test/siteIdentity/browser_identity_UI.js on a CLOSED TREE
Backed out changeset 876b33334577 (bug 1625513)
Backed out changeset 69f75d37ae8e (bug 1625513)
2020-04-09 00:57:32 +03:00
Nika Layzell
5e936cb7d5 Bug 1625513 - Part 1: Perform onMayChangeProcess handling within DocumentLoadListener, r=mattwoodrow,pbone,droeh
When I first added this method last year, I added it in JS, handled from within
SessionStore.jsm, as that was the easiest place to do it. Now that
DocumentLoadListener exists, it makes more sense to handle this logic directly
from within that code.

Many parts of the process switch are still handled by frontend JS, such as
selecting remote types, and performing toplevel process switches.

Differential Revision: https://phabricator.services.mozilla.com/D68594
2020-04-08 16:56:37 +00:00
Cosmin Sabou
6cffd2c78f Backed out 2 changesets (bug 1625513) for causing several reftest failures. CLOSED TREE
Backed out changeset 64dfd2e32a7b (bug 1625513)
Backed out changeset a78ae89b25b6 (bug 1625513)
2020-04-06 20:11:51 +03:00
Nika Layzell
2ad3a8351d Bug 1625513 - Part 1: Perform onMayChangeProcess handling within DocumentLoadListener, r=mattwoodrow,pbone,droeh
When I first added this method last year, I added it in JS, handled from within
SessionStore.jsm, as that was the easiest place to do it. Now that
DocumentLoadListener exists, it makes more sense to handle this logic directly
from within that code.

Many parts of the process switch are still handled by frontend JS, such as
selecting remote types, and performing toplevel process switches.

Differential Revision: https://phabricator.services.mozilla.com/D68594
2020-04-06 15:17:40 +00:00
Tim Huang
b8076090ad Bug 1612378 - Part 5: Make the browser.ContentBlockingAllowListPrincipal to directly get the ContentBlockingAllowListPrincipal from the WindowGlobalParent. r=dimi,johannh,baku
Right now, we have a ContentBlockingAllowListPrincipal in the
WindowGlobalParent. So, the browse element can directly get this
principal from there. And we can stop sending the
ContentBlockingAllowListPrincipal from the content to parent when
OnLocationChange happens.

Differential Revision: https://phabricator.services.mozilla.com/D66212
2020-03-25 13:22:02 +00:00
Ed Lee
361cbdb4a5 Bug 1620556 - Automatic code fixes for Prettier 1.19.1 upgrade. r=Standard8,remote-protocol-reviewers,marionette-reviewers,webcompat-reviewers,perftest-reviewers,sparky,whimboo,denschub
Differential Revision: https://phabricator.services.mozilla.com/D66128
2020-03-13 23:38:52 +00:00
Neil Deakin
02a99f0a24 Bug 1558520, rework remote controller to use JSWindowActor instead of having the browser have a controller, r=smaug
When searching for the controller for a command in nsWindowRoot::GetControllerForCommand, look for a focused browsing context instead and get the controller through the Controllers actor associated with that browsing context. When a command update occurs in a window in the child process, send the list of commands to the parent process along with the browsing context for that window. The parent will pass this information to the controllers actor. As long as we can get the right currently focused browsing context descendant, we can get the correct command state and invoke commands through the right actor.

Differential Revision: https://phabricator.services.mozilla.com/D66222
2020-03-12 16:47:57 +00:00
Bernard Igiri
6263c85bc8 Bug 1607624 - Migrating UnselectedTabHover to use JSWindowActor r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D64388
2020-03-06 17:29:03 +00:00
Alastor Wu
17a07c5626 Bug 1577890 - part6 : remove browser's methods which were used for android media control. r=baku
These methods were used for media control and audio focus on Fennec, and we don't need them anymore.

Differential Revision: https://phabricator.services.mozilla.com/D65262
2020-03-05 06:15:33 +00:00
Kris Maglione
27a6ede8fd Bug 1617254: Rename BrowsingContext.getChildren() to .children. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D63699
2020-02-25 22:33:53 +00:00
Arthur Iakab
7dc57054cd Backed out changeset 5616425b54da (bug 1617254)for casuing multiple browser-chrome failures.
CLOSED TREE
2020-02-26 00:09:34 +02:00
Kris Maglione
9b4f095126 Bug 1617254: Rename BrowsingContext.getChildren() to .children. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D63699
2020-02-25 21:03:58 +00:00
Noemi Erli
5296ed257e Backed out changeset 034e2e79ecfa (bug 1617254) for causing build bustages CLOSED TREE 2020-02-25 21:59:14 +02:00
Kris Maglione
0523739f93 Bug 1617254: Rename BrowsingContext.getChildren() to .children. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D63699
2020-02-25 19:39:25 +00:00
Rob Wu
62827d3bfb Bug 1609000 - Stop logspam when <browser> is removed r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D60720
2020-01-23 23:21:06 +00:00
Mike Conley
49abd29c1d Bug 1576917 - Port PopupBlocker to JSWindowActors to make it Fission-compatible. r=NeilDeakin
This patch was started by Alex Vamvounis <a.vamvounis@gmail.com> and finished by
Mike Conley <mconley@mozilla.com>

Differential Revision: https://phabricator.services.mozilla.com/D53075
2020-01-22 21:24:19 +00:00
Neil Deakin
4dce72cc6b Bug 1603020, allow sendMessageToActor to send the message to all descendants, not just process roots, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D58990
2020-01-20 15:14:31 +00:00
Dimi Lee
113588eb24 Bug 1600896 - P2. Use getContentBlockingLog in WindoowGlobalParent instead of getContentBlockingEvent in nsIRemoteTab. r=timhuang,Ehsan
Depends on D55779

Differential Revision: https://phabricator.services.mozilla.com/D55780
2019-12-17 11:34:41 +00:00
Dimi Lee
8b6ef12b45 Bug 1600878 - P3. Do not store contentBlockingEvent in RemoteSecurityUI.jsm r=timhuang,Ehsan
ContentBlockingEvents is now accessed via WindowGlobalActor::ContentBlockingEvents.
Updating and storing contentBlockingEvent in RemoteSecurityUI are no longer needed.

Depends on D55622

Differential Revision: https://phabricator.services.mozilla.com/D55623
2019-12-17 11:25:27 +00:00
Dimi Lee
e83925623c Bug 1600878 - P2. Use contentBlockingEvents in WindowGlobalParent instead of contentBlockingEvent in RemoteSecurityUI r=timhuang,Ehsan
ContentBlockingEvent in RemoteSecurityUI is updated after receiving a notification from a child process.
Since contentBlockingEvent will be removed from the child, this patch removes the use of
contentBlockingEvent in RemoteSecurityUI and uses the API defined in WindowGlobalActor.

Depends on D55621

Differential Revision: https://phabricator.services.mozilla.com/D55622
2019-12-17 11:25:23 +00:00
Alexander Surkov
5ba93ef6ba Bug 1606108 - Autoscroll works only once in iframe r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D58390
2020-01-10 13:41:27 +00:00
Kris Maglione
4c7c557b5b Bug 1604003: Part 2 - Convert RemoteController.js to a JSM. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D57557
2020-01-07 00:04:57 +00:00
Kris Maglione
8e3ab18307 Bug 1604003: Part 1 - Correctly unregister controller when destroying browser. r=NeilDeakin
It was being set to null before we tried to remove it, which left a dead
controller registered and consuming commands after a frameloader rebuild.

Differential Revision: https://phabricator.services.mozilla.com/D57556
2019-12-27 15:24:15 +00:00
Alexander Surkov
24e3c7fe9c Bug 1597765 - support auto scroll in out of process frames r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D54596
2019-12-19 02:35:57 +00:00
Tyler
d8bd12f370 Bug 1601475 - Remove ImageContentLoaded event and ImageDocumentLoaded message handling code across the tree r=Gijs,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D56051
2019-12-18 21:46:51 +00:00
Bogdan Tara
8251e6e929 Backed out changeset c53bf87f1e5d (bug 1597765) for test_login_item.html failures CLOSED TREE 2019-12-19 04:31:36 +02:00
Alexander Surkov
9a13236b7f Bug 1597765 - support auto scroll in out of process frames r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D54596
2019-12-18 15:09:50 +00:00
Daniel Varga
c3a6307d14 Backed out changeset e65c1bcb013f (bug 1601475) for causing build bustage. On a CLOSED TREE 2019-12-09 12:51:07 +02:00
Tyler
8b1da25252 Bug 1601475 - Remove ImageContentLoaded event and ImageDocumentLoaded message handling code across the tree r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D56051
2019-12-09 10:18:25 +00:00
Wendy Wigg
ab3b807d67 Bug 1431214 - removed _setCurrentURI function as it was unused r=mikedeboer
Differential Revision: https://phabricator.services.mozilla.com/D55394
2019-12-04 10:59:42 +00:00
Tim Nguyen
5afeb64516 Bug 1597120 - Replace usages of XUL mousethrough with CSS pointer-events. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D53348
2019-11-22 13:15:00 +00:00
Tim Nguyen
53c6a85b67 Bug 1597844 - Fix positioning of form validation and date/time input popups. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D53902
2019-11-22 00:13:15 +00:00
Kris Maglione
ff3e04cd41 Bug 1595927 - Remove XPCOM gunk around RemoteWebNavigation creation. r=mconley
It just adds a lot of unnecessary overhead and indirection.

Differential Revision: https://phabricator.services.mozilla.com/D52753
2019-11-15 01:23:40 +00:00
Ciure Andrei
f52996a55d Backed out changeset 70304898d836 (bug 1595927) for causing browser_cmd_click.js to permafail CLOSED TREE 2019-11-14 23:35:19 +02:00
Kris Maglione
a89166c8f0 Bug 1595927 - Remove XPCOM gunk around RemoteWebNavigation creation. r=mconley
It just adds a lot of unnecessary overhead and indirection.

Differential Revision: https://phabricator.services.mozilla.com/D52753
2019-11-14 19:09:22 +00:00
Carson Greene
c59f4bad09 Bug 1576911 - Make ThumbnailsChild a JSWindowActorChild instead of ActorChild r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D45957
2019-11-06 23:32:35 +00:00
Anny Gakhokidze
48627a2649 Bug 1592829 - Remove hasContentOpener logic from C++ and check for content opener directly from JavaScript, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D51318
2019-11-06 20:14:32 +00:00
Daniel Varga
f2d44e3c32 Backed out 2 changesets (bug 1592829) for gecko build failure. On a CLOSED TREE
Backed out changeset 73013c2281fb (bug 1592829)
Backed out changeset 3257e8902653 (bug 1592829)
2019-11-06 22:09:41 +02:00
Anny Gakhokidze
ce3b31a063 Bug 1592829 - Remove hasContentOpener logic from C++ and check for content opener directly from JavaScript, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D51318
2019-11-05 22:25:56 +00:00
Kirk Steuber
ae61533d4c Bug 1448807 - Remove showWindowResizer from browser Custom Element r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D50274
2019-10-30 13:46:55 +00:00
Gijs Kruitbosch
07ce706b62 Bug 1585732 - cache fission.rebuild_frameloaders_on_remoteness_change pref instead of refetching it, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D50956
2019-10-29 23:33:54 +00:00
Kashav Madan
0f967b4d27 Bug 1586050 - Don't blow away progress listeners when switching between local and remote processes, r=kmag
Whenever we do a process switch, the <browser> gets a new WebProgress instance.
When that happens, we currently handle transferring listeners from one
RemoteWebProgress instance to another, but not from a local to remote, or vice
versa. This patch changes that by tracking listeners added to the <browser> and
manually re-adding them after a process switch occurs.

Differential Revision: https://phabricator.services.mozilla.com/D48233
2019-10-09 16:56:07 +00:00
Julian Descottes
682028d1a5 Bug 1586680 - Prevent showing caret browsing prompt when using StyleEditor shortcut r=bgrins
Depends on D48313

caret browsing is enabled by the F7 shortcut, and devtools style editor is toggled via shift+F7.
When the DevTools toolbox is using a browser element, using shift+F7 in the toolbox will first trigger caret browsing and then toggle the style-editor.
The DevTools shortcut is added via a XUL key in DevToolsStartup.jsm but I didn't manage to prevent the shift+F7 event from triggering the caret-browsing keypress callback.
So instead, check if shiftKey is true in the caret-browsing callback and bail out.
In theory, unless explicitly supported, the callback should bailout if any modifier is pressed.

Differential Revision: https://phabricator.services.mozilla.com/D48315
2019-10-09 13:00:15 +00:00
Barret Rennie
d0d12fb0e4 Bug 1578304 - Correctly set content title from onLocationChange event r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D48413
2019-10-07 19:13:23 +00:00