Граф коммитов

715641 Коммитов

Автор SHA1 Сообщение Дата
Cosmin Sabou 9ac909be70 Backed out changeset 398c202ed56e (bug 1647200) for bc failures on browser_copying.js. CLOSED TREE 2020-07-01 02:35:37 +03:00
Cosmin Sabou 16c941758d Backed out 3 changesets (bug 1622212) for causing wpt failures on requestStorageAccess.sub.window.html on central.
Backed out changeset a20db87bec25 (bug 1622212)
Backed out changeset 783ef2b63ef8 (bug 1622212)
Backed out changeset ece4c5394185 (bug 1622212)
2020-07-01 02:33:27 +03:00
Butkovits Atila b707f6e54b Backed out changeset fa56a4ad6f4a (bug 1605688) for devtools failures on browser_devtools_api_destroy.js. CLOSED TREE 2020-07-01 02:17:31 +03:00
Butkovits Atila 3b3450501e Backed out changeset 067f4c0eb51b (bug 1648577) for crashtest failures at nsFlexContainerFrame.cpp. CLOSED TREE 2020-07-01 02:06:42 +03:00
Butkovits Atila e01165cdfc Backed out changeset 6d882a42cfbe (bug 1646519) for causing failure on WindowContext.cpp. CLOSED TREE 2020-07-01 01:11:52 +03:00
Hiroyuki Ikezoe 12256cfca1 Bug 1645274 - Migrate reftest-paged reftests in layout/reftests/table-overflow into wpt. r=TYLin
Note that on Chrome table-row-pagination-001-print.html doesn't generate the
second page at least in the print preview.  The second page is actually just a
blank page, but the height of a table element in the test is `160%` so that
there should be overflowed area from the first page.

It may be possible that it's an optimization in Chrome to reduce paper
consumption, but the second page in the reference, it's also a blank page, is
generated in the print preview, so I suppose it's either a bug or an
inconsistent optimization in Chrome.

Differential Revision: https://phabricator.services.mozilla.com/D81635
2020-06-30 21:58:07 +00:00
Marco Bonardo 41b0ce4835 Bug 1647200 - Don't add the trimmed protocol on urlbar copy if it's already present. r=dao
When focusing the urlbar after a non-whitelisted host is visited, we add the
trimmed protocol in front of it, because otherwise modifying the url and then
resubmitting may end up searching. Due to that, it's possible the value is not
trimmed when we build the clipboard string.

Differential Revision: https://phabricator.services.mozilla.com/D81537
2020-06-30 15:46:45 +00:00
Ting-Yu Lin 83358388ac Bug 1648577 - Fix a condition that checks whether to create a new FlexLine with break-after. r=dholbert
It's incorrect to use childFrame's next sibling to check whether we have
more children since we iterate the children with respect to the CSS
'order' property.

Rather than creating a new flex line immediately, we keep a boolean when
a flex item requested "break-after", and create a new flex in the next
iteration.

Differential Revision: https://phabricator.services.mozilla.com/D81283
2020-06-30 21:35:06 +00:00
Logan Smyth 1e13977fb6 Bug 1647342 - Part 9: Remove the HAS_INCREMENTED_STEPPER slot from DebuggerFrame. r=arai
I added this slot as a quick fix because I was not confident of when exactly
the script stepper count would be incremented or decremented. Now that the
lifecycle of DebuggerFrame is centralized and standardized in a sensible way,
we no longer need it because we can infer the state of the increment from the
state of the frame itself.

Differential Revision: https://phabricator.services.mozilla.com/D80742
2020-06-30 17:45:04 +00:00
Logan Smyth 5aa8ea0b8f Bug 1647342 - Part 8: Centralize termination of DebuggerFrame instances. r=arai
The lifecycle of a DebuggerFrame has been really hard to follow, so this
patch aims to centralize all of that handling by making it clear exactly
how a DebuggerFrame is terminated.

Secondly, this patch adds OOM guards to a bunch of places that previously
would have caused DebuggerFrame instances to persist in the "frames"
and/or "generatorFrames" list, or even worse, leave the Generator observer
count and script stepper count incremented unexpectedly.

Differential Revision: https://phabricator.services.mozilla.com/D80741
2020-06-30 18:33:37 +00:00
Logan Smyth 77ba491d1c Bug 1647342 - Part 7: Remove unnecessary special-casing of OOM in replaceFrameGuts. r=arai
This patch waits to remove the frame from the "from" map until after it has
been added to the "to" map, so that we can rely on the existing scope guard
to clean up any frames if we get an OOM.

Differential Revision: https://phabricator.services.mozilla.com/D80740
2020-06-30 17:44:29 +00:00
Logan Smyth 709115011e Bug 1647342 - Part 6: Simplfy code in onResumeFrame. r=arai
There's no reason to create this FrameIter over and over again inside the loop.
Similarly, ensureExecutionObservabilityOfFrame is a no-op if
"frame.isDebuggee()", and slowPathOnResumeFrame asserts that to be true, so
there is no reason to ensure observability here because it already is
guaranteed.

Differential Revision: https://phabricator.services.mozilla.com/D80739
2020-06-30 17:44:21 +00:00
Logan Smyth efe0798c6e Bug 1647342 - Part 5: Move management of the generatorFrames collection. r=arai
It is difficult to follow the overall lifecycle of entries in the
generatorFrames list when it is mutated in many places across many files.
This patch's primary aim is to begin centralizing the handling of this
map a little bit by keeping it all inside Debugger.cpp so that the
DebuggerFrame instance itself does not actually care whether it is found
in that map.

Differential Revision: https://phabricator.services.mozilla.com/D80738
2020-06-30 17:44:19 +00:00
Logan Smyth 4427fef93d Bug 1647342 - Part 4: Convert forEachDebuggerFrame helper to expose Debugger*. r=arai
This is just a tiny refactor to avoid needing to then get the Debugger* from
the frame when we already know it.

Differential Revision: https://phabricator.services.mozilla.com/D80737
2020-06-30 17:44:11 +00:00
Logan Smyth 0633ec4299 Bug 1647342 - Part 3: Remove unused detachAllDebuggersFromGlobal Debugger method. r=arai
I have no idea how long this has been stale.

Differential Revision: https://phabricator.services.mozilla.com/D80736
2020-06-30 17:44:09 +00:00
Logan Smyth 05c0573bbc Bug 1647342 - Part 2: Rely on onResumeFrame to handle marking all frames as on-stack. r=arai
It is guaranteed that this will already be populated because in 1539654 we
started properly preserving the debuggee-ness of frames across suspend and
resume. With slowPathOnResumeFrame guaranteed to run, we no longer need to
try to hande handle the case where the generator has been resumed, but
the Debugger.Frame's inner data was not populated.

Differential Revision: https://phabricator.services.mozilla.com/D80735
2020-06-30 17:44:07 +00:00
Logan Smyth 47758e55c0 Bug 1647342 - Part 1: Remove FrameIter::Data from DebuggerFrame public API. r=arai
Exposing frameIterData() and setFrameIterData() isn't great since it makes it
harder to follow what state transitions for frame data we expect the frame
to have. By hiding this, it helps clarify that frame data can be cleared
or replaced, but public usage of the FrameIter::Data object itself isn't
expected outside of the class itself.

Differential Revision: https://phabricator.services.mozilla.com/D80734
2020-06-30 17:44:04 +00:00
Logan Smyth 7600d30920 Bug 1577639 - Do not attempt to clean up frames for non-OOM conditions. r=arai
The core issue is that we run removeFromFrameMapsAndClearBreakpointsIn(cx, from)
even for non-OOM paths in this function, which is undesirable because that will
remove the breakpoints for evaled scripts. In the non-OOM case there are no
Debugger.Frame objects left in the frames map for the "frame" list, so there
is no reason to actually call it in that case.

This patch merges the two OOM handlers together for simplicity, though it
is not technically necessary, it seems like the very minor increase in code
run if there is an OOM is worth it to keep things centralized.

Differential Revision: https://phabricator.services.mozilla.com/D80762
2020-06-30 17:42:53 +00:00
Gabriel Luong 2aa7a2a4f2 Bug 1595710 - Add support for "platform" to Emulation.setUserAgentOverride r=remote-protocol-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D80391
2020-06-30 21:28:29 +00:00
caroline 3b27f08cb5 Bug 1649319 - Fix Math.trunc double in MacroAssembler-arm64. r=iain
Depends on D81734

Differential Revision: https://phabricator.services.mozilla.com/D81735
2020-06-30 19:00:01 +00:00
caroline 36889f5616 Bug 1649319 - Remove unused scratch register. r=iain
Differential Revision: https://phabricator.services.mozilla.com/D81734
2020-06-30 18:59:48 +00:00
Tiger Oakes abbe84b2d7 Bug 1605688 - Strip alpha when opaque, r=jdescottes,ladybenko
Differential Revision: https://phabricator.services.mozilla.com/D76062
2020-06-30 14:49:42 +00:00
Cosmin Sabou 0df4966212 Backed out changeset 5653dc323bc1 (bug 1646363) for SM bustages. CLOSED TREE 2020-07-01 00:30:23 +03:00
Aaron Klotz 8676c67cef Bug 1647883: Part 2 - Update junit tests to transfer a WebExtension.Port between sessions; r=geckoview-reviewers,agi
The only fallout from part 1 is a single test where we run `evaluateJS` on a session, serialize it to a `Parcel`,
deserialize it to new, distinct `GeckoSession` object, and then perform additional `evaluateJS` on the latter.

Since the deserialization of the `Parcel` transferred the session's contents from the original session to the new
session, we also need to transfer the `WebExtension.Port` used by `evaluateJS` to the new session.

Note that this fix is kind of hacky, but because we are going to deprecate the parcelability of `GeckoSession`, I
do not believe that it is worth the effort to implement a "perfect" fix; that would likely involve adding new APIs
to support another API that we are going to deprecate anyway.

Depends on D81746

Differential Revision: https://phabricator.services.mozilla.com/D81748
2020-06-30 20:14:08 +00:00
Aaron Klotz c5f4368518 Bug 1647883: Part 1 - Remove hashCode and equals overrides from GeckoSession in favour of new, package-scoped GeckoSession.equalsId method; r=geckoview-reviewers,agi
Because `GeckoSession`'s overrides of `hashCode` and `equals` look solely at session ID, this may cause
strange behaviors if a `GeckoSession` is reloaded with session state from a previous instance, and the
previous instance still exists. For example, suppose the previous instance is closed and the new instance is
open. As far as the Android runtime is concerned, both objects are equivalent. Trying to insert both objects
into the same container will not work as expected.

In this patch, we revert those overrides. To ensure that we still have a short-circuit path in
`GeckoView.restoreSession`, we add and utilize a new, `package`-scoped, `equalsId` method.

Differential Revision: https://phabricator.services.mozilla.com/D81746
2020-06-30 20:22:55 +00:00
Cosmin Sabou 03146c715b Backed out 2 changesets (bug 1647883) for gecko decision task issues. CLOSED TREE
Backed out changeset a3cc583cc2ba (bug 1647883)
Backed out changeset d98ba38985bb (bug 1647883)
2020-07-01 00:18:43 +03:00
Kris Maglione 6f9317a061 Bug 1646519: Fix GetInProcessTopInternal usage in GetZone. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80092
2020-06-25 21:13:10 +00:00
Kris Maglione 0fd6caa00d Bug 1646513: Fix GetInProcessParentDocument usage in CheckForSubFrameDrop. r=nika
We only allow drops from descendant frames into ancestors if they're same
origin anyway, which implies same-process, but outside of Fission, we allow
cross-origin interstitial frames, whereas with Fission we currently don't due
to our walking the ancestor tree using GetInProcessParentDocument.

Differential Revision: https://phabricator.services.mozilla.com/D80081
2020-06-25 21:01:51 +00:00
Aaron Klotz c886426e49 Bug 1647883: Part 2 - Update junit tests to transfer a WebExtension.Port between sessions; r=geckoview-reviewers,agi
The only fallout from part 1 is a single test where we run `evaluateJS` on a session, serialize it to a `Parcel`,
deserialize it to new, distinct `GeckoSession` object, and then perform additional `evaluateJS` on the latter.

Since the deserialization of the `Parcel` transferred the session's contents from the original session to the new
session, we also need to transfer the `WebExtension.Port` used by `evaluateJS` to the new session.

Note that this fix is kind of hacky, but because we are going to deprecate the parcelability of `GeckoSession`, I
do not believe that it is worth the effort to implement a "perfect" fix; that would likely involve adding new APIs
to support another API that we are going to deprecate anyway.

Depends on D81746

Differential Revision: https://phabricator.services.mozilla.com/D81748
2020-06-30 20:14:08 +00:00
Aaron Klotz 2790f076d6 Bug 1647883: Part 1 - Remove hashCode and equals overrides from GeckoSession in favour of new, package-scoped GeckoSession.equalsId method; r=geckoview-reviewers,agi
Because `GeckoSession`'s overrides of `hashCode` and `equals` look solely at session ID, this may cause
strange behaviors if a `GeckoSession` is reloaded with session state from a previous instance, and the
previous instance still exists. For example, suppose the previous instance is closed and the new instance is
open. As far as the Android runtime is concerned, both objects are equivalent. Trying to insert both objects
into the same container will not work as expected.

In this patch, we revert those overrides. To ensure that we still have a short-circuit path in
`GeckoView.restoreSession`, we add and utilize a new, `package`-scoped, `equalsId` method.

Differential Revision: https://phabricator.services.mozilla.com/D81746
2020-06-30 20:22:55 +00:00
Kris Maglione ca3f481eb2 Bug 1646481: Stop walking in-process-parent-document chain in RegisterFrameCaptureListener. r=emilio
GetRootPresContext essentially does this anyway.

Differential Revision: https://phabricator.services.mozilla.com/D80066
2020-06-30 20:46:41 +00:00
Kris Maglione 5c39c6a9eb Bug 1646482: Stop using GetInProcessParentDocument in DoSecureToInsecureSubmitCheck. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80068
2020-06-25 20:58:46 +00:00
Mitchell Hentges df42c40571 Bug 1646363: "mach build" should be resilient to drive letter capitalization r=rstewart
Depending on how MozillaBuild is invoked, python may think that the drive letter is a different case.
Since some paths are saved between builds in "config.status", this inconsistency can cause issues.

Though this patch doesn't solve the underlying inconsistency, it resolves the crash that was occurring.

Differential Revision: https://phabricator.services.mozilla.com/D81738
2020-06-30 19:31:51 +00:00
Honza Bambas 9dc053c421 Bug 1632215 - Make nsHttpChannel::mAuthRetryPending atomic to fix a bit field race, r=valentin,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D81729
2020-06-30 19:03:51 +00:00
Cosmin Sabou 8762cb8f0f Bug 1649391 - Add missing "=" to the skip syntax. r=mkmelin
CLOSED TREE
2020-06-30 23:51:40 +03:00
Cosmin Sabou 717f707ad2 Bug 1649390 - Add missing "=" to the skip syntax. r=mkmelin 2020-06-30 23:45:53 +03:00
Magnus Melin cda80c22da Bug 1649390 - skip test_remoteworker_launch_new_process.js when !e10s. r=dom-workers-and-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D81687
2020-06-30 20:22:37 +00:00
Magnus Melin 9aa8494b15 Bug 1649391 - skip test_ext_shared_workers_mainprocess_disallowed.js for Thunderbird (no e10s). r=rpl
Differential Revision: https://phabricator.services.mozilla.com/D81685
2020-06-30 19:44:30 +00:00
alwu efcb38d096 Bug 1645668 - part2 : add test. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D81632
2020-06-30 19:55:01 +00:00
alwu 2d3813f487 Bug 1645668 - part1 : reset audible state when aborting current load. r=bryce
When aborting the current load, media element is undoubtedly inaudible. Therefore, we should reset its audible state in order to keep the audible state correct. That can help us show the sound indicator on the tab bar correctly.

Differential Revision: https://phabricator.services.mozilla.com/D81631
2020-06-30 16:50:35 +00:00
Jared Wein 88ae5ca939 Bug 1648222 - Hide the experimental features category if there are no available experimental features. r=mstriemer,preferences-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D80949
2020-06-30 19:49:46 +00:00
Greg Tatum d8dddd8673 Bug 1625044 - Do not run the profiler private browsing test on linux; r=julienw
I spent some time looking into this, and the Linux runs when opening up the
popup and the private browser are not working consistently. The popupshown
and popuphidden events are not firing consistently. It's probably good enough
to just disable this test on Linux, as it's mainly a UI test, and it works
on the other platforms.

Differential Revision: https://phabricator.services.mozilla.com/D81602
2020-06-30 19:46:21 +00:00
Greg Tatum 41bd757afa Bug 1625044 - Handle profile popup showing more correctly in tests; r=julienw
Some intermittents were caused by the failure to ensure the popup was closed.
This patch creates a new API that explicitly ensures that the popup is actually
closed in the patch.

It also adds a listener to the popupshown and popuphidden events dispatched by
the XUL elements to ensure that we're not just relying on a single requestAnimationFrame
tick.

Differential Revision: https://phabricator.services.mozilla.com/D79332
2020-06-30 19:45:08 +00:00
Junior Hsu 426527907a Bug 1578230 - do not process transactions blocked on tunnel before a final response, r=mayhemer,necko-reviewers
Depends on D80261

Differential Revision: https://phabricator.services.mozilla.com/D81620
2020-06-30 18:37:28 +00:00
Junior Hsu 65da3adae8 Bug 1578230 - skip 1xx pre-response for H2 CONNECT proxy, r=mayhemer,necko-reviewers
We already able to allow more headers after 1xx for H2.
https://searchfox.org/mozilla-central/rev/5e6c7717255ca9638b2856c2b2058919aec1d21d/netwerk/protocol/http/Http2Session.cpp#1547-1550

What we need to do is a special handle in H2 Tunneling:
Create the transport shims and decide if we need secondary TLS when we have a final response.

Differential Revision: https://phabricator.services.mozilla.com/D80261
2020-06-29 23:33:44 +00:00
Zeke Medley 83e9191999 Bug 1506364 - Implement the prefers-contrast media-query. r=morgan,emilio
Differential Revision: https://phabricator.services.mozilla.com/D79553
2020-06-29 17:46:12 +00:00
Nihanth Subramanya e3c6a704e2 Bug 1646896 - Ship a default value for doh-rollout.provider-steering.provider-list in mozilla-central. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D81737
2020-06-30 19:07:43 +00:00
Jim Porter 632c7aa9aa Bug 1613496 - Add IPC profiler markers to track when messages are processed by the IO thread queues r=gerald,froydnj
This adds 3 new profiler markers for each IPC message:

 * One just before the first byte is sent over the IPC channel
 * One just after the last byte is sent over the IPC channel
 * One just after the last byte is received from the IPC channel

With the already-existing IPC markers (for when SendXXX and RecvXXX are
called), this allows us to calculate the following statistics:

 * Send thread latency
 * IPC send duration
 * IPC recv latency
 * Recv thread latency

For more information on how this is presented in the UI, see:
<https://github.com/firefox-devtools/profiler/pull/2535>.

Differential Revision: https://phabricator.services.mozilla.com/D70790
2020-06-30 18:39:42 +00:00
David Walsh d28db00623 Bug 1648145 - Show 'Main Thread' label for top level main thread in sources tree r=jlast
Differential Revision: https://phabricator.services.mozilla.com/D80916
2020-06-30 16:18:39 +00:00
Geoff Brown 14107b56bc Bug 1642662 - [mozcrash] Convert output of minidump_stackwalk from bytes to str in _process_dump_file in Python3 r=bc
bc's original patch, but restricted to py3 (py2 already works - no need to change it!). I also updated
the six imports to suit my preference.

Differential Revision: https://phabricator.services.mozilla.com/D81561
2020-06-29 17:34:16 +00:00