Commit Graph

387 Commits

Author SHA1 Message Date
Ehsan Akhgari
5f57b1b6e4 Bug 1557887 - Part 5: Pass a storage principal argument through the browser loadURI()/addTab() APIs; r=baku,mconley
Differential Revision: https://phabricator.services.mozilla.com/D34459
2019-06-12 23:05:36 +00:00
Gurzau Raul
ae3b8b1e09 Merge inbound to mozilla-central. a=merge 2019-06-12 00:34:32 +03:00
Neil Deakin
c1eb92539d Bug 1533948, change BrowserTabChild to inherit from JSWindowActor, r=mconley 2019-06-11 09:05:33 -04:00
Boris Zbarsky
95de682140 Bug 1557793 part 2. Stop using [array] in nsIStringBundle. r=Pike
Differential Revision: https://phabricator.services.mozilla.com/D34196
2019-06-11 15:51:51 +00:00
Mike Conley
890b11ac87 Bug 1505909 - Merge remote and non-remote context menu handlers. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D32757
2019-06-08 01:09:10 +00:00
Noemi Erli
7401f1586b Backed out 6 changesets (bug 1505909) for failures in browser_ext_webNavigation_onCreatedNavigationTarget_contextmenu.js CLOSED TREE
Backed out changeset 57336967a6c7 (bug 1505909)
Backed out changeset 8adcacadd689 (bug 1505909)
Backed out changeset bcca6bb913ef (bug 1505909)
Backed out changeset afc11a5ebb6d (bug 1505909)
Backed out changeset 40f0a56ed3af (bug 1505909)
Backed out changeset 3e31f9726798 (bug 1505909)
2019-06-07 19:19:14 +03:00
Mike Conley
32a0246427 Bug 1505909 - Merge remote and non-remote context menu handlers. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D32757
2019-06-07 14:28:33 +00:00
Bogdan Tara
ea3799bc30 Backed out 6 changesets (bug 1505909) for bc failures complaining about WebNavigationChild and browser_e10s_about_page_triggeringprincipal.js CLOSED TREE
Backed out changeset 56449fd37aee (bug 1505909)
Backed out changeset 3ff09b79821c (bug 1505909)
Backed out changeset a1a2a9efe22f (bug 1505909)
Backed out changeset 8aeb77291207 (bug 1505909)
Backed out changeset 4aa17e28ee54 (bug 1505909)
Backed out changeset dbe6803d979e (bug 1505909)
2019-06-07 06:15:16 +03:00
Mike Conley
f532c80744 Bug 1505909 - Merge remote and non-remote context menu handlers. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D32757
2019-06-06 20:32:11 +00:00
Emilio Cobos Álvarez
b56d5ba7d7 Bug 1553769 - Have a single way of requesting window focus and switching to a tab. r=NeilDeakin,snorp
Right now there's some duplicated code with the focus manager and the
DOMWindowFocus event.

Android didn't handle the new framefocusrequested event, so the test-cases in
bug 416771 still didn't work there.

I think using the focus manager codepath everywhere is preferable. I confirmed
manually that the stuff that sent DOMWindowFocus events still works as expected
with this patch (i.e., switching to the right tab when you click on a
notification, etc.).

This fixes it so that it works in Fennec, and it sends the focus events right in
GeckoView Example (i.e., we get here[1] properly).

The snippet that Snorp provided on IRC to implement the "bring activity to
front" stuff (`startActivity(getIntent())`) didn't actually work for me, but I
confirmed that the right message is sent when the focus is requested, and that
we get there.

[1]: https://searchfox.org/mozilla-central/rev/952521e6164ddffa3f34bc8cfa5a81afc5b859c4/mobile/android/geckoview_example/src/main/java/org/mozilla/geckoview_example/GeckoViewActivity.java#503

Depends on D32353

Differential Revision: https://phabricator.services.mozilla.com/D32354
2019-06-03 19:42:28 +00:00
Gijs Kruitbosch
5c0e824720 Bug 1555453 - use contextmenu event as backup to ensure we always localize the context menu, r=jaws
Differential Revision: https://phabricator.services.mozilla.com/D33328
2019-05-31 20:01:56 +00:00
Mike Conley
92452c88b5 Bug 1533949 - Make BrowserChild functions Fission-compatible, and move to BrowserElementChild. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D30725
2019-05-30 19:01:29 +00:00
Alexander Surkov
3e72225bf3 Bug 1519514 - convert tabbrowser-tab binding to a Custom Element, r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D28662
2019-05-28 22:00:28 +00:00
Cosmin Sabou
61c6a5e4c5 Backed out 4 changesets (bug 1519514) for causing several browser chrome failures. CLOSED TREE
Backed out changeset 485c2c76fab6 (bug 1519514)
Backed out changeset 8488d800a785 (bug 1519514)
Backed out changeset 858b9456eb3c (bug 1519514)
Backed out changeset 2cd983857de6 (bug 1519514)
2019-05-29 11:01:47 +03:00
Alexander Surkov
fae3d434df Bug 1519514 - convert tabbrowser-tab binding to a Custom Element, r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D28662
2019-05-28 22:00:28 +00:00
Barret Rennie
77bcd2e1ea Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-23 18:48:48 +00:00
Bogdan Tara
27d82ae613 Backed out 4 changesets (bug 1510569) for 1419902.html failures CLOSED TREE
Backed out changeset 756519a7cf79 (bug 1510569)
Backed out changeset 39c6818fdb12 (bug 1510569)
Backed out changeset 3d9715a5ecd4 (bug 1510569)
Backed out changeset 418a61f5f87b (bug 1510569)
2019-05-23 01:58:51 +03:00
Barret Rennie
832d529074 Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-21 21:34:54 +00:00
Emilio Cobos Álvarez
f338c40bf4 Bug 416771 - Allow window.focus() to switch tabs. r=NeilDeakin,dao CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D31643
2019-05-22 17:21:29 +00:00
Bogdan Tara
a98b31ad18 Backed out changeset 5acccb49a668 (bug 416771) for gecko decision bustage CLOSED TREE 2019-05-22 20:38:33 +03:00
Emilio Cobos Álvarez
b8fe9ad62e Bug 416771 - Allow window.focus() to switch tabs. r=NeilDeakin,dao
Differential Revision: https://phabricator.services.mozilla.com/D31643
2019-05-22 17:21:29 +00:00
Noemi Erli
42dc28e8b4 Backed out 4 changesets (bug 1510569) for mass test failures CLOSED TREE
Backed out changeset c5488e2770a6 (bug 1510569)
Backed out changeset df98eef1f640 (bug 1510569)
Backed out changeset db6da7f94a92 (bug 1510569)
Backed out changeset fb696b92c13d (bug 1510569)
2019-05-21 23:41:41 +03:00
Barret Rennie
6b0346b742 Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-21 19:28:39 +00:00
Cosmin Sabou
9135cb4406 Backed out 4 changesets (bug 1510569) for causing build bustages on nsIDocShell.idl CLOSED TREE
Backed out changeset 57f49df057be (bug 1510569)
Backed out changeset de97a258fcfd (bug 1510569)
Backed out changeset 4b0ed20ab3bc (bug 1510569)
Backed out changeset 1d8ab383d3e9 (bug 1510569)
2019-05-21 20:30:01 +03:00
Barret Rennie
6ccbfbf238 Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-21 17:08:57 +00:00
Dão Gottwald
14a1248c18 Bug 1547299 - Implement open-view-on-focus mode. r=adw
Differential Revision: https://phabricator.services.mozilla.com/D31419
2019-05-17 08:27:08 +00:00
Kyle Machulis
8b8f6c6b40 Bug 1540839 - Add Cross Origin Opener Policy case for BC preservation; r=nika
If we're doing a process switch due to the cross origin opener policy
being mismatched, we don't want to preserve the browsing context.

Differential Revision: https://phabricator.services.mozilla.com/D26392
2019-05-14 10:51:05 -07:00
Razvan Maries
e5b095be37 Backed out 8 changesets (bug 1540839) for build bustages. CLOSED TREE
Backed out changeset f7e477858ab7 (bug 1540839)
Backed out changeset 55e841a0f005 (bug 1540839)
Backed out changeset b71b58e40426 (bug 1540839)
Backed out changeset 484a54613358 (bug 1540839)
Backed out changeset b34c4d71f202 (bug 1540839)
Backed out changeset 8ff2ff524489 (bug 1540839)
Backed out changeset 27492a30286c (bug 1540839)
Backed out changeset f1c35e8e84f6 (bug 1540839)
2019-05-14 04:23:27 +03:00
Kyle Machulis
476f93017b Bug 1540839 - Add Cross Origin Opener Policy case for BC preservation; r=nika
If we're doing a process switch due to the cross origin opener policy
being mismatched, we don't want to preserve the browsing context.

Differential Revision: https://phabricator.services.mozilla.com/D26392
2019-05-13 17:58:45 -07:00
Nika Layzell
5f20078058 Bug 1544811 - Use web processes on a per-site basis for fission-enabled windows, r=mconley
This patch introduces a new type of content process, which has a dynamic name.
This type of content process is labeled as `webIsolated=${SITE_ORIGIN}` and is
used within fission-enabled windows.

To enable this, additional information about the fission status of the target
window must be passed into E10SUtils. This was done by updating every call site
manually to pass an extra boolean. A better solution perhaps should be used in
the future.

With this patch enabled, we now perform process switches, but only when
navigating to HTTP URIs. If we navigate to a non-HTTP URI in an iframe with
fission enabled, it will not behave correctly. This must be done in a
follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D29570
2019-05-03 21:31:57 +00:00
Bogdan Tara
2c040ca027 Backed out 2 changesets (bug 1510569) for crashtests/1419902.html crashes CLOSED TREE
Backed out changeset fc0ae629221a (bug 1510569)
Backed out changeset 97f6ac273b5d (bug 1510569)
2019-05-03 03:48:15 +03:00
Barret Rennie
48a2bc08bb Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-02 23:35:02 +00:00
Bogdan Tara
c203974769 Backed out 2 changesets (bug 1510569) for crashtests/1419902.html failures CLOSED TREE
Backed out changeset 13c5249d66a7 (bug 1510569)
Backed out changeset a6ad4039d785 (bug 1510569)
2019-05-02 21:30:20 +03:00
Barret Rennie
2e21ffaa02 Bug 1510569 - Keep track of whether we are navigating to a new URI in nsDocShell r=mconley,kmag,qdot
Previously the `WebNavigationChild` would keep track of when triggering its
`nsIWebNavigation`, `goForward`, `goBack`, `gotoIndex`, and `loadURI` methods.
It's `nsIWebNavigation` instance is always an `nsIDocShell` and as part of
porting `OnStateChange` and `OnLocationChange` events from
`WebProgressChild`/`RemoteWebProgress` to `BrowserChild`/`BrowserParent`, this
informations needs to be available from the `BrowserChild`. As it stands, it is
currently an expando property on the `WebProgressChild`.

Instead of introducing yet another XPCOM interface for the WebProgressChild, we
now store this information directly on the `nsDocShell`. Furthermore, instead
of having the `WebNavigationChild` manage this part of the `nsDocShell`'s
state, we can have the `nsDocShell` manage this state itself so it is always
consistent.

Differential Revision: https://phabricator.services.mozilla.com/D28124
2019-05-02 17:00:51 +00:00
Mike Conley
f060772432 Bug 1533955 - Show some UI to indicate that a subframe has crashed. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D29238
2019-05-01 20:05:24 +00:00
Emilio Cobos Álvarez
28cf34ed8c Bug 1546019 - When a focused browser changes remoteness, make sure to activate the remote browser if needed. r=qdot
Not quite sure what's a good way to add a test for this... Ideas?

Differential Revision: https://phabricator.services.mozilla.com/D29104
2019-04-29 20:06:22 +00:00
Ryan Hunt
c6e302039f Bug 1534395 - Rename nsITabParent to nsIRemoteTab. r=nika,mconley
nsITabParent is exposed to frontend code and is generally used as a representation of a remote tab. We could just rename the interface to nsIBrowserParent and worry about it later, but I think it's better to rename the interface to nsIRemoteTab so that we can later work on splitting the interface away from the PBrowser protocol.

Note: Some frontend code refers to a TabParentId. This commit renames this to RemoteTabId. We need to figure out the purpose of TabId with fission.

Differential Revision: https://phabricator.services.mozilla.com/D28132
2019-04-09 15:59:37 -05:00
Nika Layzell
32a1c47e61 Bug 1542791 - Part 2: Add a [F] marker to fission-enabled tabs, r=mconley
This should make it easier to tell whether a particular window is
fission-enabled as testing with fission enabled improves.

Differential Revision: https://phabricator.services.mozilla.com/D26561
2019-04-17 00:53:30 +00:00
Jonathan Kingston
7af9989152 Bug 1479433 - Changing icons and colors for containers to be class based. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D24918
2019-04-10 11:19:00 +00:00
Dão Gottwald
38955d1627 Bug 1542299 - Remove Array.unshift usage from tabbrowser.js. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D26685
2019-04-09 10:30:39 +00:00
Dão Gottwald
b36ed16b82 Bug 1542298 - Remove Array.filter usage from tabbrowser.js. r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D26688
2019-04-09 10:48:27 +00:00
Dão Gottwald
983a91a78d Bug 1504775 - Ensure externally provided addTab index is within bounds. r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D26296
2019-04-05 17:23:07 +00:00
Brian
83c5bc6d2e Bug 1523763 - Move tab context menu strings to FTL file loaded on-demand. r=Gijs,flod
Moved tab context menu out of browser.dtd to browser.xul except for sendPageToDevice, sendLinkToDevice, moveTabOptions, moveSelectedTabOptions, undoCloseTab. Not sure if tabbrowser.js and tabbrowser.xul are working as intended.

Differential Revision: https://phabricator.services.mozilla.com/D19312
2019-03-29 14:55:12 +00:00
sakshaat
8b67bd2a1d Bug 1517483 - Get rid of nsIScriptSecurityManager::IsSystemPrincipal r=bzbarsky
Replaced instances of callers in both C++ and JS files to query the state from the principal directly.

Differential Revision: https://phabricator.services.mozilla.com/D22532
2019-03-24 20:36:25 +00:00
Gijs Kruitbosch
dd378f1bce Bug 1530500 - remove obsolete browser swapping flags, r=dao
Differential Revision: https://phabricator.services.mozilla.com/D24114
2019-03-20 08:49:04 +00:00
Gijs Kruitbosch
e7f95a8c30 Bug 1353013 - allow using the preloaded new tab page in private windows, too, r=dthayer
This didn't use to work and was disabled in
https://bugzilla.mozilla.org/show_bug.cgi?id=1195981 . I expect my changes in
https://bugzilla.mozilla.org/show_bug.cgi?id=1427186 fixed the issue. It works
in my testing, anyway.

Differential Revision: https://phabricator.services.mozilla.com/D21127
2019-03-19 17:29:34 +00:00
Gijs Kruitbosch
866709f525 Bug 1353013 - move new tab preload browser tracking into a separate module, r=dthayer
Differential Revision: https://phabricator.services.mozilla.com/D21126
2019-03-19 17:29:14 +00:00
shindli
244d2d9547 Backed out 3 changesets (bug 1353013) for a11y failures in accessible/tests/mochitest/relations/test_tabbrowser.xul CLOSED TREE
Backed out changeset af8bce2330e9 (bug 1353013)
Backed out changeset a3d1302b06c0 (bug 1353013)
Backed out changeset 976afd1adf84 (bug 1353013)
2019-03-18 18:21:16 +02:00
Gijs Kruitbosch
fa62c2b6c0 Bug 1353013 - allow using the preloaded new tab page in private windows, too, r=dthayer
This didn't use to work and was disabled in
https://bugzilla.mozilla.org/show_bug.cgi?id=1195981 . I expect my changes in
https://bugzilla.mozilla.org/show_bug.cgi?id=1427186 fixed the issue. It works
in my testing, anyway.

Differential Revision: https://phabricator.services.mozilla.com/D21127
2019-03-12 14:34:24 +00:00
Gijs Kruitbosch
6a19ff891f Bug 1353013 - move new tab preload browser tracking into a separate module, r=dthayer
Differential Revision: https://phabricator.services.mozilla.com/D21126
2019-03-12 14:34:04 +00:00