This patch moves the warning coming out of the linker to their own
sections. This do not solve the problem that stdout is sometimes
truncated, but the hope is to solve the issue where the linker issues
are being reported as part of the failure reason instead of the
unexpected assertion or errors.
Differential Revision: https://phabricator.services.mozilla.com/D198676
The userAgent header can be modified in several ways, such as using the
header field to set a custom userAgent header for a fetch request. We
want to preserve the custom header, so we shouldn't recalculate the
userAgent header if it's been overridden after the channel was created.
Otherwise, the custom header won't work.
Differential Revision: https://phabricator.services.mozilla.com/D197655
The userAgent was decided when the channel was created, but the channel
hasn't known about whether it should exempt fingerprinting protection at
the moment. To properly set the userAgent, we need to update the
userAgent header once we know the AntiTracking info.
Differential Revision: https://phabricator.services.mozilla.com/D196953
This improves the architecture by separating out the loading and therefore not having
the object try to load itself.
There are no functional changes nor removals here, the code is only being restructured.
Differential Revision: https://phabricator.services.mozilla.com/D198378
This moves the file from js/public to js/src/gc and moved the template
specialization for GCHashMap into it from js/public/GCHashTable.h.
Differential Revision: https://phabricator.services.mozilla.com/D198686
Per fetch spec [1], we should perform CSP upgrade-insecure-requests and mixed
content upgrades before determining the referrer, while HSTS upgrades happen
after the referrer is determined. In our implementation, we determine the
referrer before all the upgrades, so we need to recalculate the referrer
after we upgrade through anything but HSTS.
[1] https://fetch.spec.whatwg.org/#main-fetch
Differential Revision: https://phabricator.services.mozilla.com/D193417
Right now, we reconstruct frames in response to a change in the CSS
`contain` property or `content-visibility`. This patch tries to optimize
this a bit:
1. Updates involving style containment change continue to force a
reconstruction, due to the need to handle counters/quotes.
2. Updates involving paint/layout containment change only force a
reconstruction if it's needed to handle absolutely/fixed
positioned descendants or floats (for this one, see also bug 1874826).
3. Other containment changes will only force a reflow and repaint.
Per the CSS contain spec, layout, style and paint containments are
enabled for `content-visibility: hidden` and `content-visibility: auto`.
As a consequence, changing `content-visibility` between `hidden` and
`auto` values no longer requires reconstruction. Changing between these
values and `visible` may need a reconstruction although authors may
generally avoid that in practice by forcing `style` containment.
Differential Revision: https://phabricator.services.mozilla.com/D197043
This patch doesn't change the behavior (or pass/fail status) of the test at
all; it's just fixing some issues in the test that trigger parser errors and/or
make the test results hard to read.
Overview of the fixes:
- Removing a stray quote character (near the start) and a stray comma (in the
middle of an element's attribute list).
- Wrapping the test content in an element that we can use to scope the rules,
so that we don't end up with a generic 'div' css selector that inadvertently
targets the test-results divs that the harness appends to the page.
- Removing the 'head' element since it's unnecessary and was being opened later
than appropriate (after head content had already begun).
- Changing a background color from blue to cyan so that black text remains
readable.
- Adding a newline at the end of the file.
Differential Revision: https://phabricator.services.mozilla.com/D198751
`Selection.modify` with `"line"` calls `nsIFrame::PeekOffsetForLine` (which
is also used to move caret). To compute the destination,
`nsIFrame::PeekOffsetForLine` is used, but it may return a native anonymous
node because its helper function, `GetSelectionClosestFrame`, does not check
the boundary. On the other hand, it's used by pointing device event handlers
too. In this case, it needs to return a native anonymous node. Therefore,
the helper method requires additional flag to consider whether it can return
native anonymous node.
Differential Revision: https://phabricator.services.mozilla.com/D198358
In the test case, `nsFocusManager::GetSelectionLocation` is called with
collapsed selection at end of the `<svg>` which ends with collapsible
white-spaces. Therefore, it reaches the white-space only text node and it
does not have a primary frame due to invisible.
Previously, creating `nsFrameIterator` failed and then the method returned
error, but after bug 779684, `nsFrameIterator` constructor wants non-nullptr
frame avoiding crash. Therefore, I added the `MOZ_ASSERT` there to get a
way to reproduce the case and now we got it.
I think that just removing `MOZ_ASSERT` and keeping returning error is not
correct. The text can be invisible with the other reasons and it does not
collapsed at end of invisible text, this does not return error. Therefore,
this patch makes just returning the text in the case without error.
Differential Revision: https://phabricator.services.mozilla.com/D198128
If a path builder is left in place after a drawing command, and then user then
sets up new transforms before beginning a new path, the old path will get spuriously
transformed every time the transform is changed, even though it will never be used.
We want to delay actually transforming the path until we need to read from it or
write to it.
Differential Revision: https://phabricator.services.mozilla.com/D198672
Trying to see whether the system-reported mouse is a REAL mouse causes problem in certain situation with Wacom driver. The driver makes the system believe it has a pen while it still reports that the input device count is 1. Our heuristic thus thinks that the single device is not a real mouse but something else, which then breaks web compatibility with Twitter.
That hack was added by bug 1493128, but the capability report behavior change is already reverted with bug 1813979. Keeping this hack thus has no point as of now. This patch follows the comment: "We shouldn't assume we know better."
Differential Revision: https://phabricator.services.mozilla.com/D197813