This patch does not make some header files stop including the inline
header because fixing them require more changes.
Note that `#include "nsComponentManagerUtils.h"` is fixing a bustage
caused by "use of undeclared identifier 'do_CreateInstance'" error.
Differential Revision: https://phabricator.services.mozilla.com/D304432
This replaces the existing remote type prediction backend, which has been
implemented in E10SUtils.sys.mjs. This completes the transition which was
started when process selection decisions started being made in C++ for Fission
by removing the core logic completely from E10SUtils.sys.mjs.
Differential Revision: https://phabricator.services.mozilla.com/D282083
This reverts commit ba92fe5024.
Revert "Bug 2011326 - Part 4: Switch test_sitepolicies to a data URI, r=mossop"
This reverts commit 8eab4714b1.
Revert "Bug 2011326 - Part 3: Remove the test-only canLoadURIInRemoteType function, r=firefox-desktop-core-reviewers ,tabbrowser-reviewers,mossop,sthompson"
This reverts commit 8ce4078eed.
Revert "Bug 2011326 - Part 2: Predict remote types with ProcessIsolation, r=whimboo,geckoview-reviewers,extension-reviewers,tabbrowser-reviewers,omc-reviewers,layout-reviewers,tcampbell,robwu,sthompson,emilio,mimi"
This reverts commit df59bd116e.
Revert "Bug 2011326 - Part 1: Remove test for separatePrivilegedContentProcess=false, r=firefox-desktop-core-reviewers ,tabbrowser-reviewers,mossop,sthompson"
This reverts commit 879157d4f7.
Revert "Bug 2011307 - Remove test-only support for marking chrome:// URI as needing to be loaded remotely, r=smaug,tabbrowser-reviewers,nsharpley"
This reverts commit 2d20aa53d9.
This replaces the existing remote type prediction backend, which has been
implemented in E10SUtils.sys.mjs. This completes the transition which was
started when process selection decisions started being made in C++ for Fission
by removing the core logic completely from E10SUtils.sys.mjs.
Differential Revision: https://phabricator.services.mozilla.com/D282083
This replaces the existing remote type prediction backend, which has been
implemented in E10SUtils.sys.mjs. This completes the transition which was
started when process selection decisions started being made in C++ for Fission
by removing the core logic completely from E10SUtils.sys.mjs.
Differential Revision: https://phabricator.services.mozilla.com/D282083
The new flags dump the requested information after page load. Combined with the
existing `--autoclose`, they can be useful when invoked from tools, such as when
recording an rr trace for a reduced testcase.
For example, the following command dumps the frame tree and retained display
list for testcase.html, then closes the layout debugger.
```
./mach run --layoutdebug testcase.html --autoclose \
--dump-frames --dump-retained-display-list
```
Differential Revision: https://phabricator.services.mozilla.com/D298063
I looked at this because in bug 2014331 I need to mark more pseudos as
element-backed, and it's kinda silly the state our setup is in right
now.
This is all a somewhat historical mess, because in the old style system
pseudo-elements were just atoms, and we had that different types of atom
setup. The source of truth for these right now lives in a header macro
file, which isn't very flexible.
But now we have PseudoStyleType which represents both pseudos and anon
boxes, and is similar to the rust side PseudoElement enum.
Plus, the ::-moz-tree pseudo-elements are defined as anon boxes which
doesn't make any sense, so move them to pseudo-elements while at it.
Unify this in a similar way we treat CSS properties: Source of truth is
in pseudo_elements.toml / anon_boxes.toml, and we generate Rust and C++
as needed. This allows removing the nsStaticAtom subclass thing from
XPCOM, too.
This avoids some nasty duplication around which pseudos are pref-gated
and what not as well.
Differential Revision: https://phabricator.services.mozilla.com/D282076
I looked at this because in bug 2014331 I need to mark more pseudos as
element-backed, and it's kinda silly the state our setup is in right
now.
This is all a somewhat historical mess, because in the old style system
pseudo-elements were just atoms, and we had that different types of atom
setup. The source of truth for these right now lives in a header macro
file, which isn't very flexible.
But now we have PseudoStyleType which represents both pseudos and anon
boxes, and is similar to the rust side PseudoElement enum.
Plus, the ::-moz-tree pseudo-elements are defined as anon boxes which
doesn't make any sense, so move them to pseudo-elements while at it.
Unify this in a similar way we treat CSS properties: Source of truth is
in pseudo_elements.toml / anon_boxes.toml, and we generate Rust and C++
as needed. This allows removing the nsStaticAtom subclass thing from
XPCOM, too.
This avoids some nasty duplication around which pseudos are pref-gated
and what not as well.
Differential Revision: https://phabricator.services.mozilla.com/D282076
Much like bug 1979014 did for other attributes (these ones were a bit
harder because there's also native code that looked at them).
Make disabled imply :disabled, and checked imply :checked, which
simplifies the theming code while at it.
Differential Revision: https://phabricator.services.mozilla.com/D277665
After the previous patches, nsViewManager is basically a backpointer to
its pres shell.
Remove it and just make PresShell manage the root view directly. After
this is done, we can decide what to do about nsView (which is itself
little more than a widget listener that forwards to pres shell right
now).
This technically starts listening to mParentWidget slightly later (on
pres shell creation), but I think that's ok.
Differential Revision: https://phabricator.services.mozilla.com/D272890
Remove and simplify some view-using code:
* Add nsIFrame::GetOwnWidget() to get an nsIWidget rather than doing
menupopup-or-view.
* Move widget invalidation to the only place it's used.
* Don't deal with reentrant paints. Assert more strongly.
* Move SetView only to ViewportFrame.
Differential Revision: https://phabricator.services.mozilla.com/D272208
The general and preferable way is to enable the preference,
`layout.display-list.dump`. However, it may dump too much information
because it dumps the log before and after painting. If we just want to
check the display list after painting (in a stable status), I think
dumping retained display list should work well.
Note that it may be empty if we call it before paint, or retained
display list is disabled. In general cases, it should be the display list
after optimization (because we paint the content already when you
click the menu item).
Differential Revision: https://phabricator.services.mozilla.com/D255566
We introduce `::-moz-snapshot-containing-block` pseudo-element to wrap
the view transition pseudo-element tree. This pseudo-element is only for
internal usage and cannot be accessed from outside.
Note that the related wpt,
`snapshot-containing-block-static.html`
`snapshot-containing-block-absolute.html`
are still failed because of Bug 1960755.
Also, add a test to check the snapshot containing block in the iframe,
and avoid hitting the issue of Bug 1960755.
There is no better way to verify that we do establish the fixed
positioning containing block, because it's unlikely to make the size of the
snapshot containing block be different from the viewport size on desktop
(note: this pseudo-element doesn't expose to the web), so I verified this
patch by changing the size of snapshot containing block manually in the UA
stylesheet, to see if it establish the fixed positioning containing block.
Differential Revision: https://phabricator.services.mozilla.com/D245648