The Grid objects will be regenerated whenever the grid is reflowed, which
is nearly the same to the old check of comparing the contents of the
grid structure. This approach is prone to false positives, which is
explained in a new comment.
Differential Revision: https://phabricator.services.mozilla.com/D169725
This ensures that repeated calls to Element::GetGridFragments will return
an array of idempotent Grid objects for each fragment. This is
accomplished by making the Grid object hold a WeakFrame back to its
originating frame, and updating a property on construction and
destruction.
Differential Revision: https://phabricator.services.mozilla.com/D169724
This currently only includes block frames, grid containers, and flex
containers, and the document and pagination frames. It is possible more frames
will need to be added or more advanced checks in the future.
This adds some related tests to ignoring some subtrees, but are expected fails
until bug 1816570 is fixed.
Differential Revision: https://phabricator.services.mozilla.com/D169018
This icon has a viewbox, but not a width/height, so it was invisible
with old XUL images because XUL didn't know about image aspect-ratio.
Remove to keep the previous behavior.
Differential Revision: https://phabricator.services.mozilla.com/D170675
For programmatic scrolls, we should respect a users general.smoothScroll
preference. If smooth scrolls are disabled, programmatic scrolls with
behavior: "smooth" should be treated as instant programmatic scrolls.
Differential Revision: https://phabricator.services.mozilla.com/D170110
Convert the various capture* constants in nsIFilePicker into a proper
enum, and perform validation when passing it across IPC.
Additionally, unlike the previous two enums, reduce the size of
CaptureTarget to 8 bits. This is a workaround for its use with
nsAttrValue, which at present very specifically requires that parseable
enums' values fit within an `int16_t` -- and a `uint16_t` does not.
Differential Revision: https://phabricator.services.mozilla.com/D169854
Convert the various mode* constants in nsIFilePicker into a proper
enum, and perform validation when passing it across IPC.
Differential Revision: https://phabricator.services.mozilla.com/D169853
Convert the various result* constants in nsIFilePicker into a proper
enum, and perform validation when passing it across IPC.
Differential Revision: https://phabricator.services.mozilla.com/D169852
In the interest of keeping directory sizes down to a manageable level,
pull the new Windows utility-process geolocation code into its own
directory. (This is not yet an issue, but will become so as new
utility-process functionality is added.)
No functional changes.
Differential Revision: https://phabricator.services.mozilla.com/D169857
This particular request is used to identify the potential timeout issue
for HTTPS only requests. ORB doesn't need to block this request.
Differential Revision: https://phabricator.services.mozilla.com/D170251
Devtools use its own mainThreadFetch to fetch resources when it's
needed. For example, fetching the content of a source file. Importantly,
these request use `TYPE_OTHER` which could be blocked by ORB. Having
ORB block requests coming from devtools break some of it
functionalities.
Differential Revision: https://phabricator.services.mozilla.com/D170250
This test send some cross origin no-cors requests and expect
the color of the element will be changed via CSS by reading
the response of these requests.
With ORB's JS validator is enabled, some of the requests are
going to be blocked.
This patch allows the test to test the result for both ORB
enabled and ORB disabled.
Differential Revision: https://phabricator.services.mozilla.com/D169279
We've done some updates to this test previously when we enable
ORB (without JS validation) already. Now, we have JS validation
added and more requests are blocked, so we need to change
the expectation for more sub-tests.
Differential Revision: https://phabricator.services.mozilla.com/D169278
These tests involve a bunch of no-cors fetch requests which use
`file_CrossSiteXHR_server.sjs` for sending the response back.
Depends on the request's URL, the response can possibly be
```
response.setHeader("Content-Type", "application/xml", false);
response.write("<res>hello pass</res>\n");
```
which will make JS validator to run and blocks.
The fix here is to toggle the pref of ORB when running the tests,
so we test both with ORB and without ORB behaviors, with different
expectations.
Differential Revision: https://phabricator.services.mozilla.com/D169277
These tests involve a bunch of no-cors fetch requests which use
`file_CrossSiteXHR_server.sjs` for sending the response back.
Depends on the request's URL, the response can possibly be
```
response.setHeader("Content-Type", "application/xml", false);
response.write("<res>hello pass</res>\n");
```
which will make JS validator to run and blocks.
The fix here is to toggle the pref of ORB when running the tests,
so we test both with ORB and without ORB behaviors, with different
expectations.
Differential Revision: https://phabricator.services.mozilla.com/D169276
Top-level actor can only be bound to one process, we can't reuse the
existing one to bind to a different process.
So if the utility process crashes and we've created a new one as a
replacement, we need to have a new JSOracleParent for the connection,
using the old one won't work.
This patch creates a new one upon the destruction of the existing one
if the reason for the destruction is AbnormalShutdown.
Differential Revision: https://phabricator.services.mozilla.com/D168482
See my comment on here for more context of my investigation:
https://bugzilla.mozilla.org/show_bug.cgi?id=1779257#c9
The saved context is invalid once the function that called `getcontext`
returns. We need to call the `getcontext` while the frame where we called it is
still on the stack. That's why this patch is moving the call to `getcontext` to
parent function by inlining the SyncPopulate content by using a macro instead.
This has to be a macro instead of a function because stack pointer address will
be invalid once the `Registers::SyncPopulate` returns. I tried to change this
method to inline but that didn't help either.
Differential Revision: https://phabricator.services.mozilla.com/D170133