Commit graph

98 commits

Author SHA1 Message Date
Nika Layzell
136a1ffa7a Bug 1636279 - Part 1: Streamline WindowContext initialization, r=farre
This should make the flow of how data gets into the initial WindowContext state
more clear, and allows the setting of initial synced WindowContext fields.

Differential Revision: https://phabricator.services.mozilla.com/D74324
2020-05-08 20:44:12 +00:00
Nika Layzell
5b5f1a77c5 Bug 1634596 - Avoid switching into a new process if an ancestor is discarded, r=farre
This is a temporary workaround for the crashes this can cause. A more thorough
fix to discarded ancestor issues will be implemented in bug 1634759.

Differential Revision: https://phabricator.services.mozilla.com/D74101
2020-05-08 18:04:51 +00:00
Nika Layzell
6cb771c699 Bug 1633820 - Part 4: Remove OriginAttributes from TabContext, r=kmag
This information is now redundant with 'BrowsingContext', meaning that it can be
omitted from the 'TabContext'.

Differential Revision: https://phabricator.services.mozilla.com/D72934
2020-05-07 22:18:54 +00:00
Razvan Maries
7a5b66f9b6 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
d6a082e20a Bug 1633820 - Part 4: Remove OriginAttributes from TabContext, r=kmag
This information is now redundant with 'BrowsingContext', meaning that it can be
omitted from the 'TabContext'.

Differential Revision: https://phabricator.services.mozilla.com/D72934
2020-05-07 17:18:48 +00:00
Bogdan Tara
7fce40912d 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
e6c0899f5d Bug 1633820 - Part 4: Remove OriginAttributes from TabContext, r=kmag
This information is now redundant with 'BrowsingContext', meaning that it can be
omitted from the 'TabContext'.

Differential Revision: https://phabricator.services.mozilla.com/D72934
2020-05-06 17:41:02 +00:00
Kris Maglione
1c70232c81 Bug 1614462: Part 3c - Remove dead TabContext IsMozBrowserElement fields. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70750
2020-04-20 22:15:21 +00:00
Ciure Andrei
a5ac2a8bbc 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
bb26afd174 Bug 1614462: Part 3c - Remove dead TabContext IsMozBrowserElement fields. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70750
2020-04-20 20:12:00 +00:00
Ciure Andrei
c15dcac93b 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
1c6b490044 Bug 1614462: Part 3c - Remove dead TabContext IsMozBrowserElement fields. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D70750
2020-04-16 22:20:12 +00:00
Andreas Farre
25ca8d7890 Bug 1620594 - Part 7: Remove TabGroup and SystemGroup. r=nika,bas
TabGroup never really made any difference in which thread something go
dispatched to. This was the intended use, but development of TabGroups
with abstract main threads never made it that far. The good thing is
that thish makes it safe to also remove to the SystemGroup and instead
switch all SystemGroup dispatches to dispatches to main thread.

Timers for setTimeout and workers were the sole users of wrapped and
throttled event targets, that those throttled queues have been moved
to the BrowsingContextGroup and are now accessed explicitly.

The SchedulerEventTarget has been removed, since there are no longer a
separate event target for every TaskCategory. Instead a
LabellingEventTarget has been added to DocGroup to handle the case
where an event is dispatched do DocGroup or when an AbstractThread is
created using a DocGroup. This means that we'll actually label more
events correctly with the DocGroup that they belong to.

DocGroups have also been moved to BrowsingContextGroup.

Depends on D67636

Differential Revision: https://phabricator.services.mozilla.com/D65936

--HG--
extra : moz-landing-system : lando
2020-04-07 15:17:47 +00:00
Bogdan Tara
40fdcf8307 Backed out 2 changesets (bug 1621726) for web platform test failures CLOSED TREE
Backed out changeset ebe18133a194 (bug 1621726)
Backed out changeset c43c38de33b2 (bug 1621726)
2020-04-06 22:03:02 +03:00
Nika Layzell
b6d18805e0 Bug 1621726 - Part 1: Manage PWindowGlobal with PContent instead of PBrowser, r=farre
Previously, the PWindowGlobal actor was managed by the PBrowser which hosted it,
however this could cause issues when the tab containing the PWindowGlobal was
being destroyed. Due to the slightly different lifecycles of the PBrowser actor
and the nsGlobalWindowInner which the PWindowGlobal was trying to match the
lifetime of, the actor would sometimes not fire 'willDestroy' events correctly.

This patch moves PWindowGlobal to be directly managed by PContent, and changes
logic which previously used `Manager()` to get `Browser{Parent,Child}` to
instead use a pointer member.

Differential Revision: https://phabricator.services.mozilla.com/D68596

--HG--
extra : moz-landing-system : lando
2020-04-06 15:06:30 +00:00
Csoregi Natalia
7f39c4edfb Backed out changeset 9e1fba94da3a (bug 1621726) for bustages on WinHeaderOnlyUtils.h. CLOSED TREE
--HG--
extra : histedit_source : 475a57cb7d987f9ce3e1cf35e46292bc9b588a24
2020-04-01 00:05:16 +03:00
Nika Layzell
33e15617d3 Bug 1621726 - Manage PWindowGlobal with PContent instead of PBrowser, r=farre
Previously, the PWindowGlobal actor was managed by the PBrowser which hosted it,
however this could cause issues when the tab containing the PWindowGlobal was
being destroyed. Due to the slightly different lifecycles of the PBrowser actor
and the nsGlobalWindowInner which the PWindowGlobal was trying to match the
lifetime of, the actor would sometimes not fire 'willDestroy' events correctly.

This patch moves PWindowGlobal to be directly managed by PContent, and changes
logic which previously used `Manager()` to get `Browser{Parent,Child}` to
instead use a pointer member.

Differential Revision: https://phabricator.services.mozilla.com/D68596

--HG--
extra : moz-landing-system : lando
2020-03-31 17:47:51 +00:00
Simon Giesecke
ac33c1f119 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/ipc. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D65179

--HG--
extra : moz-landing-system : lando
2020-03-06 09:11:40 +00:00
Nika Layzell
b614aeff7b Bug 1615403 - Part 6: Use MaybeDiscarded for WindowGlobalInit, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D62837

--HG--
extra : moz-landing-system : lando
2020-02-20 23:30:50 +00:00
Hiroyuki Ikezoe
796e6049b6 Bug 1550800 - Call BrowserParent::UpdateDimensions() in BrowserBridgeParent::RecvUpdateDimensions. r=nika,hsivonen
So that we can get the correct client offset value and store other metrics
there and reuse them when the top browser window moves.

The client offset, browser window title bar and window decorated frame width,
is necessary to get element positions in OOP iframes in screen coordinates
for drag-and-drop etc.

This change also fixes event.screen{X,Y}. A mochitest in this commit fails
without this change with enabling fission at least on Linux. Note that in the
mochitest we have to use nsIDOMWindowUtils.synthesizeNativeMouseClick instead
of nsIDOMWindowUtils.sendMouseEvent since sendMouseEvent doesn't work in fission
world (bug 1528935).

Differential Revision: https://phabricator.services.mozilla.com/D62190

--HG--
extra : moz-landing-system : lando
2020-02-13 22:30:56 +00:00
Simon Giesecke
b50347f917 Bug 1611415 - Prefer using std::move over forget. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-13 14:38:48 +00:00
shindli
91aa0518dd Backed out changeset 0c982bc69cb3 (bug 1611415) for causing build bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsCOMPtr CLOSED TREE 2020-02-12 20:13:29 +02:00
Simon Giesecke
f604a47fa5 Bug 1611415 - Applied FixItHints from mozilla-non-std-move. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-12 17:24:41 +00:00
Kris Maglione
1722817403 Bug 1582832: Part 1 - Make FrameLoader owner rather than DocShell responsible for discarding a BC. r=nika
There are all sorts of lifecycle issues which arise from making DocShell
responsible for discarding BrowsingContexts. In this particular bug, we tend
to run into them in cases where we create a BrowsingContext for a FrameLoader,
and then never create a DocShell for it, leading to it never being destroyed.
But there are myriad other issues as well.

This patch moves the responsibility for BrowsingContext lifecycle management
to the FrameLoader/FrameLoaderOwner, rather than the DocShell, which makes
things more consistent, and more closely aligns with spec-defined behavior.

Differential Revision: https://phabricator.services.mozilla.com/D59008

--HG--
extra : moz-landing-system : lando
2020-02-06 19:07:56 +00:00
Nika Layzell
ef317eb299 Bug 1609187 - Remove child-initiated remote subframe logic, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D60268

--HG--
extra : moz-landing-system : lando
2020-01-22 19:29:32 +00:00
Emilio Cobos Álvarez
aaecc96d81 Bug 1588791 - Make fission iframes honor and deal with the scrolling attribute. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D59630

--HG--
extra : moz-landing-system : lando
2020-01-13 11:30:44 +00:00
Ciure Andrei
51c540de3d Backed out 2 changesets (bug 1588791) for causing test_bug369370.html and test_transformed_scrolling_repaints_3.html to permafail
Backed out changeset 52e661ff161d (bug 1588791)
Backed out changeset d59e691bda9e (bug 1588791)
2020-01-13 04:49:16 +02:00
Emilio Cobos Álvarez
6e69347f9f Bug 1588791 - Make fission iframes honor and deal with the scrolling attribute. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D59630

--HG--
extra : moz-landing-system : lando
2020-01-12 22:22:29 +00:00
Emilio Cobos Álvarez
8bf2225b87 Bug 1606659 - Make Browser*::Show take two arguments, one from the parent process, one from the owner of the frame. r=mattwoodrow
This makes clear where the information comes from, and also that there are some
bits of information that we should pass down from the child that we don't, like
allowfullscreen and the frame name.

Differential Revision: https://phabricator.services.mozilla.com/D58535

--HG--
extra : moz-landing-system : lando
2020-01-05 20:58:21 +00:00
Emilio Cobos Álvarez
b84e83a317 Bug 1600454 - Fix build with --disable-accessibility. r=MarcoZ
The change to moz.build unveiled a couple unified build issues that I also had
to fix.

Depends on D55365

Differential Revision: https://phabricator.services.mozilla.com/D55366

--HG--
extra : moz-landing-system : lando
2019-12-02 06:25:40 +00:00
Matt Woodrow
b3e87fb19a Bug 1586411 - Don't crash if AttachLayerManager fails. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D53760

--HG--
extra : moz-landing-system : lando
2019-11-24 21:23:04 +00:00
Andreea Pavel
b30d1c40a4 Backed out 2 changesets (bug 1586411, bug 1588484) for build bustages at nsBaseWidget.cpp on a CLOSED TREE
Backed out changeset 8f8105dabc47 (bug 1586411)
Backed out changeset 6339a731c30d (bug 1588484)
2019-11-24 21:40:59 +02:00
Matt Woodrow
ad010d29d3 Bug 1586411 - Don't crash if AttachLayerManager fails. r=rhunt
Differential Revision: https://phabricator.services.mozilla.com/D53760

--HG--
extra : moz-landing-system : lando
2019-11-24 19:02:20 +00:00
James Teh
4a0ed4f097 Bug 1581040: handle late creation/re-creation of OuterDocAccessible for OOP iframe. r=yzen,nika
1. When creating a DocAccessibleParent for an embedded document in an OOP iframe, it's possible that the embedder accessible hasn't been set yet.
    This can occur if the iframe is initially hidden.
    Previously, we incorrectly set the document up as a top level document (e.g. tab document) in this case.
    Now, we set up the document as top level in its content process, set up the proxy, etc.
    The document will be added to its child document later when the embedder is set.

2. When setting the embedder accessible for an OOP iframe, check if the embedded DocAccessibleParent already exists.
    This can happen if an iframe is hidden and then shown or an iframe is reflowed by layout.
    If it already exists, add the embedded (child) document to its embedder.

3. Mac's implementation of ProxyCreated requires that AddChildDoc be called *before* ProxyCreated so it can invalidate the native children of the parent.
    Because it's possible for an OOP iframe document to be added to its embedder after the document is created, we can't satisfy this requirement for OOP iframe documents.
    Therefore, we now allow a null parent in Mac's ProxyCreated and use the reorder event fired later to invalidate the native children.

Differential Revision: https://phabricator.services.mozilla.com/D51357

--HG--
extra : moz-landing-system : lando
2019-11-07 00:38:59 +00:00
Cosmin Sabou
e7966b8b03 Backed out changeset ac4242e7f029 (bug 1581040) for causing browser chrome crashes @mozilla::a11y::ProxyCreated. CLOSED TREE 2019-11-05 10:39:48 +02:00
James Teh
28a8c82da1 Bug 1581040: handle late creation/re-creation of OuterDocAccessible for OOP iframe. r=yzen,nika
1. When creating a DocAccessibleParent for an embedded document in an OOP iframe, it's possible that the embedder accessible hasn't been set yet.
    This can occur if the iframe is initially hidden.
    Previously, we incorrectly set the document up as a top level document (e.g. tab document) in this case.
    Now, we set up the document as top level in its content process, set up the proxy, etc.
    The document will be added to its child document later when the embedder is set.

2. When setting the embedder accessible for an OOP iframe, check if the embedded DocAccessibleParent already exists.
    This can happen if an iframe is hidden and then shown or an iframe is reflowed by layout.
    If it already exists, add the embedded (child) document to its embedder.

Differential Revision: https://phabricator.services.mozilla.com/D51357

--HG--
extra : moz-landing-system : lando
2019-11-05 05:44:34 +00:00
Ciure Andrei
64cfc71bcd Backed out changeset 967bb08714f9 (bug 1581040) for causing build bustages CLOSED TREE 2019-11-05 07:23:01 +02:00
James Teh
f0676dcb3a Bug 1581040: handle late creation/re-creation of OuterDocAccessible for OOP iframe. r=yzen,nika
1. When creating a DocAccessibleParent for an embedded document in an OOP iframe, it's possible that the embedder accessible hasn't been set yet.
    This can occur if the iframe is initially hidden.
    Previously, we incorrectly set the document up as a top level document (e.g. tab document) in this case.
    Now, we set up the document as top level in its content process, set up the proxy, etc.
    The document will be added to its child document later when the embedder is set.

2. When setting the embedder accessible for an OOP iframe, check if the embedded DocAccessibleParent already exists.
    This can happen if an iframe is hidden and then shown or an iframe is reflowed by layout.
    If it already exists, add the embedded (child) document to its embedder.

Differential Revision: https://phabricator.services.mozilla.com/D51357

--HG--
extra : moz-landing-system : lando
2019-11-05 05:02:38 +00:00
Andreea Pavel
78343404b1 Backed out changeset 406197940297 (bug 1581040) for failing BrowserParent.cpp on a CLOSED TREE 2019-11-04 06:32:28 +02:00
James Teh
fea47468f5 Bug 1581040: handle late creation/re-creation of OuterDocAccessible for OOP iframe. r=yzen,nika
1. When creating a DocAccessibleParent for an embedded document in an OOP iframe, it's possible that the embedder accessible hasn't been set yet.
    This can occur if the iframe is initially hidden.
    Previously, we incorrectly set the document up as a top level document (e.g. tab document) in this case.
    Now, we set up the document as top level in its content process, set up the proxy, etc.
    The document will be added to its child document later when the embedder is set.

2. When setting the embedder accessible for an OOP iframe, check if the embedded DocAccessibleParent already exists.
    This can happen if an iframe is hidden and then shown or an iframe is reflowed by layout.
    If it already exists, add the embedded (child) document to its embedder.

Differential Revision: https://phabricator.services.mozilla.com/D51357

--HG--
extra : moz-landing-system : lando
2019-11-01 17:12:19 +00:00
Tim Huang
336cd10b0e Bug 1590032 - Propagate the first party domain when creating new browser in Fission. r=smaug
In this patch, we add the propagation of the first party domain through
the tabContext while creating OOP browsers. In the window.open() case,
we will propagate the first party domain from the opener's browser parent.
And in the frame case, we will propagate it from the manager of the
browserBridgeParent of the OOP frame.

Differential Revision: https://phabricator.services.mozilla.com/D49886

--HG--
extra : moz-landing-system : lando
2019-10-24 08:51:06 +00:00
Nika Layzell
965f006a70 Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

Differential Revision: https://phabricator.services.mozilla.com/D47310

--HG--
extra : moz-landing-system : lando
2019-10-15 16:19:16 +00:00
Nika Layzell
090b6dbc31 Bug 1576714 - Part 2: Remove mIPCOpen from PBrowserBridge actors, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D47309

--HG--
extra : moz-landing-system : lando
2019-10-15 16:19:14 +00:00
Csoregi Natalia
8768a4f5e3 Backed out 7 changesets (bug 1576714) for fission permafailures on test_bug590812.html. a=backout
Backed out changeset d0c49f00eb91 (bug 1576714)
Backed out changeset faecc9f35b49 (bug 1576714)
Backed out changeset 2e156655c31e (bug 1576714)
Backed out changeset eece722082c7 (bug 1576714)
Backed out changeset ebda40f96884 (bug 1576714)
Backed out changeset 7dce423417d8 (bug 1576714)
Backed out changeset 9a5072019168 (bug 1576714)
2019-10-05 00:08:33 +03:00
Nika Layzell
89b22d83ef Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

Differential Revision: https://phabricator.services.mozilla.com/D47310

--HG--
extra : moz-landing-system : lando
2019-10-03 21:40:24 +00:00
Nika Layzell
7b1c569d54 Bug 1576714 - Part 2: Remove mIPCOpen from PBrowserBridge actors, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D47309

--HG--
extra : moz-landing-system : lando
2019-10-03 21:40:22 +00:00
Brindusan Cristian
950e03660b Backed out 6 changesets (bug 1576714) for build bustages at nsFrameLoaderOwner.cpp. CLOSED TREE
Backed out changeset 083967e704d2 (bug 1576714)
Backed out changeset b3467f1bdde7 (bug 1576714)
Backed out changeset 88e3b4b7fbaf (bug 1576714)
Backed out changeset b91221da32c7 (bug 1576714)
Backed out changeset 6996b7705f06 (bug 1576714)
Backed out changeset a303fc193f60 (bug 1576714)
2019-10-02 04:14:53 +03:00
Nika Layzell
f55d088ec3 Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

Differential Revision: https://phabricator.services.mozilla.com/D47310

--HG--
extra : moz-landing-system : lando
2019-10-01 18:09:03 +00:00
Nika Layzell
b0d4c1a661 Bug 1576714 - Part 2: Remove mIPCOpen from PBrowserBridge actors, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D47309

--HG--
extra : moz-landing-system : lando
2019-10-01 18:09:01 +00:00
Emilio Cobos Álvarez
fa6f012317 Bug 1582042 - Remove useless threading of aForceRepaint around various IPC messages. r=mconley
aForceRepaint wasn't doing what it claimed to do at all, as we've recently
learned. In current mozilla-central:

 * All those arguments ended up in a RecvRenderLayers with aForceRepaint = true
   (so far so good, that's expected).

 * But it was ignored (so that aForceRepaint is always true to calls to
   MakeVisible) from UpdateVisibility:

https://searchfox.org/mozilla-central/rev/f43ae7e1c43a4a940b658381157a6ea6c5a185c1/dom/ipc/BrowserChild.cpp#2523

 * Plus that argument only does anything useful on current central if we get to
   the end of MakeVisible(true). And MakeVisible() early returns if already
   visible.

So all in all this seems somewhat useless, and nobody has complained about such
a thing in a long time.

It seemed to do what it promised when it was introduced in
https://hg.mozilla.org/mozilla-central/rev/27f6f789b194, but it seems the
refactoring in https://hg.mozilla.org/mozilla-central/rev/4df5fa6fa785 broke it.

I think the new setup is somewhat easier to reason about, and nobody seems to be
missing that.

I'll try to remove the forceRepaint() call itself on a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D47127

--HG--
extra : moz-landing-system : lando
2019-09-26 22:11:17 +00:00