Commit Graph

55 Commits

Author SHA1 Message Date
Neil Deakin
c1eb92539d Bug 1533948, change BrowserTabChild to inherit from JSWindowActor, r=mconley 2019-06-11 09:05:33 -04:00
Nicklas Boman
51ec2796ec Bug 1519365 - Update object property names that get passed to loadURIOptions to match the names in loadURIOptions r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D31729
2019-06-08 11:04:27 +00:00
Henri Sivonen
22be3f1c4f Bug 1543077 part 4 - Have only one item for Japanese in the Text Encoding menu. r=Gijs,emk.
Differential Revision: https://phabricator.services.mozilla.com/D28634
2019-06-03 15:30:41 +03: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
Mihai Alexandru Michis
c1c0700d91 Backed out 6 changesets (bug 1543077) for causing bc failures at docshell/test/browser/browser_bug1543077.js
Backed out changeset f593045cc48f (bug 1543077)
Backed out changeset 25449ba8aceb (bug 1543077)
Backed out changeset ccc438262e29 (bug 1543077)
Backed out changeset 4573c25b1ce0 (bug 1543077)
Backed out changeset 1cbaafb9373a (bug 1543077)
Backed out changeset 1a0e7ced8e47 (bug 1543077)
2019-05-27 12:00:21 +03:00
Henri Sivonen
74b9548f55 Bug 1543077 part 4 - Have only one item for Japanese in the Text Encoding menu. r=emk,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D28634
2019-05-27 07:55:27 +00:00
Barret Rennie
422b75a792 Bug 1510569 - Port onStateChange notifications inside WebProgressChild.jsm to C++ r=baku,kmag
We now also only access the document when the state is
nsIWebProgress::STATE_STOP. The comments in the previous code indicated that
touching the document inside the event handler when the state is not STATE_STOP
would result in the content creating a new about:blank document to retrieve the
values from. However, it then went on to do this in another location, causing a
document to be created whenever we received an onStateChange event. This should
no longer occur.

Differential Revision: https://phabricator.services.mozilla.com/D28125
2019-05-23 18:49:08 +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
72279816b7 Bug 1510569 - Port onStateChange notifications inside WebProgressChild.jsm to C++ r=baku,kmag
We now also only access the document when the state is
nsIWebProgress::STATE_STOP. The comments in the previous code indicated that
touching the document inside the event handler when the state is not STATE_STOP
would result in the content creating a new about:blank document to retrieve the
values from. However, it then went on to do this in another location, causing a
document to be created whenever we received an onStateChange event. This should
no longer occur.

Differential Revision: https://phabricator.services.mozilla.com/D28125
2019-05-21 21:35:04 +00: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
Alastor Wu
0a30e7b17a Bug 1553328 - use browsing context to notify tab mute/unmute media. r=baku,farre
This bug will use the browsing context to notify content tab to mute/unmute media, instead of using MessageManager. We would use the top level canonical browsing context to
set the media mute property for the top level window and propagate it to other top level windows in other processes.

If we don't do so, we're not able to mute/unmute media in the different process when we we enable Fission, because the current way we use can only notify one process and would cause the media on other process can't be muted/unmuted.

Differential Revision: https://phabricator.services.mozilla.com/D32077
2019-05-22 12:19:49 +00:00
Christoph Kerschbaumer
1b1bace614 Bug 965637: Move CSP from Principal into Client, part 3: frontend changes. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D27656
2019-05-21 23:15:08 +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
23dc40f66a Bug 1510569 - Port onStateChange notifications inside WebProgressChild.jsm to C++ r=baku,kmag
We now also only access the document when the state is
nsIWebProgress::STATE_STOP. The comments in the previous code indicated that
touching the document inside the event handler when the state is not STATE_STOP
would result in the content creating a new about:blank document to retrieve the
values from. However, it then went on to do this in another location, causing a
document to be created whenever we received an onStateChange event. This should
no longer occur.

Differential Revision: https://phabricator.services.mozilla.com/D28125
2019-05-21 19:28:52 +00: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
016bd6d67e Bug 1510569 - Port onStateChange notifications inside WebProgressChild.jsm to C++ r=baku,kmag
We now also only access the document when the state is
nsIWebProgress::STATE_STOP. The comments in the previous code indicated that
touching the document inside the event handler when the state is not STATE_STOP
would result in the content creating a new about:blank document to retrieve the
values from. However, it then went on to do this in another location, causing a
document to be created whenever we received an onStateChange event. This should
no longer occur.

Differential Revision: https://phabricator.services.mozilla.com/D28125
2019-05-21 17:09:14 +00: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
Boris Zbarsky
1b0492e02f Bug 1550934. Stop using [array] in nsIBrowser. r=NeilDeakin
Differential Revision: https://phabricator.services.mozilla.com/D30771
2019-05-15 21:12:44 +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
9348f64709 Bug 1510569 - Port onStateChange notifications inside WebProgressChild.jsm to C++ r=baku,kmag
We now also only access the document when the state is
nsIWebProgress::STATE_STOP. The comments in the previous code indicated that
touching the document inside the event handler when the state is not STATE_STOP
would result in the content creating a new about:blank document to retrieve the
values from. However, it then went on to do this in another location, causing a
document to be created whenever we received an onStateChange event. This should
no longer occur.

Differential Revision: https://phabricator.services.mozilla.com/D28125
2019-05-02 23:36:24 +00: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
8da177841d Bug 1510569 - Port onStateChange notifications inside WebProgressChild.jsm to C++ r=baku,kmag
We now also only access the document when the state is
nsIWebProgress::STATE_STOP. The comments in the previous code indicated that
touching the document inside the event handler when the state is not STATE_STOP
would result in the content creating a new about:blank document to retrieve the
values from. However, it then went on to do this in another location, causing a
document to be created whenever we received an onStateChange event. This should
no longer occur.

Differential Revision: https://phabricator.services.mozilla.com/D28125
2019-05-02 16:20:34 +00: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
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
4cfe5900c6 Bug 1525427 - Part 2: Directly fetch browsingContext from frameLoader in browser-custom-element, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D25182
2019-04-17 00:51:40 +00:00
Emilio Cobos Álvarez
6b33f0904f Bug 1542193 - Unify handling of e10s and non-e10s Forms:ShowDropDown messages. r=mconley
I assume this was an artifact of when this was done with XBL.

Depends on D26517

Differential Revision: https://phabricator.services.mozilla.com/D26518
2019-04-08 18:22:20 +00:00
Emilio Cobos Álvarez
27103e2711 Bug 1542193 - Fix handling of select's direction in e10s. r=mconley
In bug 1375476 I fixed one of the places but missed the other. I'll refactor
them in a bit.

I wish I could run the select tests locally to extend them properly...

Differential Revision: https://phabricator.services.mozilla.com/D26517
2019-04-08 18:19:28 +00:00
Barret Rennie
e463b26107 Bug 1510569 - Reconstruct nsIWebProgress and nsIRequest for onContentBlockingEvent in TabParent r=Ehsan
Now that we have access to the RemoteWebProgress from the TabParent and can
construct RemoteWebProgress and RemoteWebProgressRequests in C++, we can
reconstruct the RemoteWebProgress and RemoteWebProgressRequest in the TabParent
instead of RemoteWebProgressManager. This improves the API for nsIBrowser and
RemoteWebProgressManager, removing the need for the
`callWebProgressContentBlockingEventListeners` method in both. It also means we
won't need to implement `callWebProgress*Listeners` for methods on nsIBrowser
and RemoteWebProgressManager for all other nsIWebProgress events.

Differential Revision: https://phabricator.services.mozilla.com/D24942
2019-04-03 17:31:41 +00:00
Gurzau Raul
a31d364d9b Backed out 4 changesets (bug 1525427) for failing at /browser_browsingContext-embedder.js on a CLOSED TREE.
Backed out changeset 0227a59eba8e (bug 1525427)
Backed out changeset 18fba79d8671 (bug 1525427)
Backed out changeset f7c82615ea05 (bug 1525427)
Backed out changeset 4a210c9266ed (bug 1525427)
2019-03-28 20:54:28 +02:00
Nika Layzell
6f6566f09a Bug 1525427 - Part 2: Directly fetch browsingContext from frameLoader in browser-custom-element, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D25182
2019-03-28 18:12:57 +00:00
Christoph Kerschbaumer
2ccc12bb79 Bug 1524970: Update more frontend code to explicitly pass a csp. r=Gijs,jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D24959
2019-03-27 16:38:01 +00:00
Andrew Swan
b8ac7ba04c Bug 1535182 Remove BaseElementMixin and MozElementMixin from window global r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D24828
2019-03-26 21:43:13 +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
alwu
4d10289686 Bug 1524065 - part2 : use browsing context to resume delayed autoplay media. r=farre
Replace the current way and use the new way in order to make this working well after enable Fission.

Differential Revision: https://phabricator.services.mozilla.com/D18137
2019-03-19 18:45:36 +00:00
Kyle Machulis
4e9160ad90 Bug 1522713 - Don't change node binding to tree when updating remoteness; r=nika
Since we now have a method on nsFrameLoaderOwner/MozFrameLoaderOwner
that can update remoteness, we should no longer need to unbind and
rebind browser elements to the tree to change their remoteness
attributes. We can just call the method and have the Frameloaders
rebuilt in the backend.

We're still getting some test breakage in Marionette and browser
chrome with this patch. Putting this behind a pref so the fission
team can still work with it while the tests are being fixed.

Depends on D22790

Differential Revision: https://phabricator.services.mozilla.com/D22791
2019-03-14 00:52:02 +00:00
Emilio Cobos Álvarez
67a8b0c7d1 Bug 1375476 - Support font-style / font-weight and font-size on <option> elements. r=mconley
And cleanup / make the code a bit more generic while at it.

Differential Revision: https://phabricator.services.mozilla.com/D20463
2019-02-28 01:44:52 +00:00
Kyle Machulis
00cdaa3c74 Bug 1524683 - Move all nsIFrameLoaderOwner references to nsFrameLoaderOwner; r=nika
Depends on D19728

Differential Revision: https://phabricator.services.mozilla.com/D19729
2019-02-15 22:20:53 +00:00
Thomas Nguyen
7405fdc8a3 Bug 1517703 - Part 2 - Use ReferrerInfo in loadURIOptions from js r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D17922
2019-02-12 19:35:24 +00:00
Mike Conley
4bf71473d4 Bug 1522546 - Make remoteType property on browsers forward to the message manager if applicable. r=bgrins
Differential Revision: https://phabricator.services.mozilla.com/D18224
2019-01-31 20:31:45 +00:00
Myk Melez
5ecc2c1225 Bug 1518283 - prohibit blank lines at the beginning and end of blocks (eslint padded-blocks) r=mossop,Standard8
Differential Revision: https://phabricator.services.mozilla.com/D17526
2019-01-30 17:26:25 +00:00
Andreas Farre
0c68a9ae2e Bug 1521149 - Keep track of all BrowsingContext object in a BrowsingContextGroup r=nika
Differential Revision: https://phabricator.services.mozilla.com/D17003
2019-01-30 16:07:21 +00:00
Sebastian Hengst
b68993967d Merge mozilla-central to mozilla-inbound 2019-01-29 02:55:55 +02:00
Felipe Gomes
a9802b86c1 Bug 1514757 - Remove InPermitUnload message listener once it has done its job. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D17530
2019-01-28 16:02:27 +00:00
Ehsan Akhgari
0730432b48 Bug 1520879 - Port the onContentBlockingEvent notifications inside WebProgressChild.jsm to C++; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D17157
2019-01-25 14:44:09 +00:00
Kris Maglione
856fa07b17 Bug 1514594: Part 3 - Change ChromeUtils.import API.
***
Bug 1514594: Part 3a - Change ChromeUtils.import to return an exports object; not pollute global. r=mccr8

This changes the behavior of ChromeUtils.import() to return an exports object,
rather than a module global, in all cases except when `null` is passed as a
second argument, and changes the default behavior not to pollute the global
scope with the module's exports. Thus, the following code written for the old
model:

  ChromeUtils.import("resource://gre/modules/Services.jsm");

is approximately the same as the following, in the new model:

  var {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm");

Since the two behaviors are mutually incompatible, this patch will land with a
scripted rewrite to update all existing callers to use the new model rather
than the old.
***
Bug 1514594: Part 3b - Mass rewrite all JS code to use the new ChromeUtils.import API. rs=Gijs

This was done using the followng script:

https://bitbucket.org/kmaglione/m-c-rewrites/src/tip/processors/cu-import-exports.jsm
***
Bug 1514594: Part 3c - Update ESLint plugin for ChromeUtils.import API changes. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D16747
***
Bug 1514594: Part 3d - Remove/fix hundreds of duplicate imports from sync tests. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16748
***
Bug 1514594: Part 3e - Remove no-op ChromeUtils.import() calls. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16749
***
Bug 1514594: Part 3f.1 - Cleanup various test corner cases after mass rewrite. r=Gijs
***
Bug 1514594: Part 3f.2 - Cleanup various non-test corner cases after mass rewrite. r=Gijs

Differential Revision: https://phabricator.services.mozilla.com/D16750
2019-01-17 10:18:31 -08:00
Shane Caraveo
747e64a03c Bug 1489531 Expose telemetry client_id header to about:addons r=aswan
m-c patch to add header to request on about:addons

Differential Revision: https://phabricator.services.mozilla.com/D16601
2019-01-17 17:48:32 +00:00
Brian Grinstead
8bb446412a Bug 1519461 - Don't return values from docShellIsActive, renderLayers, and userTypedValue setters;r=mconley
This is more consistent with other setters, and lets us handle the null frameLoader
case a bit more simply.

Differential Revision: https://phabricator.services.mozilla.com/D16370
2019-01-14 20:36:25 +00:00