Commit Graph

730594 Commits

Author SHA1 Message Date
Kris Maglione
c1143c12ba Bug 1639739: Add Fission decision status to about:support. r=nika,fluent-reviewers,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D92981
2020-10-14 20:42:16 +00:00
Kartikaya Gupta
9d6aa07b4f Bug 1669982 - Add a test. r=botond
Depends on D93494

Differential Revision: https://phabricator.services.mozilla.com/D93570
2020-10-14 20:59:35 +00:00
Kartikaya Gupta
6d7be02ed3 Bug 1669982 - Keep the margin adjustment when calculating margins on the main thread. r=botond
The code in CalculateAndSetDisplayPortMargins computes metrics for the content,
which may be the RCD and therefore have separate visual and layout scroll offsets.
The code then uses CalculatePendingDisplayPort to compute displayport margins,
but that function computes the margins based on the visual scroll offset. The
code then uses that as the final margins, when in fact those margins might
need adjusting so that they can be applied to the base rect (which is based
on the layout scroll offset).

This function is invoked by MobileViewportManager after load complete, at
which point the displayport may already be set and the layout and visual offsets
may have diverged. This can happen if, for example, the user manipulates the
visual viewport early during page load, or if a visual viewport is restored
after navigating backwards. In these scenarios the existing "with adjustment"
displayport margins are clobbered by the new, incorrect "with no adjustment"
margins. This patch corrects this by specifying the necessary adjustment.

All the other call sites of this function only call it to initialize the
displayport for the first time, so they cannot run into this problem of
"clobbering" an existing margins. However, I kept this patch general enough
so that if any of those call sites were to change in the future, it wouldn't
run into the same problem.

Differential Revision: https://phabricator.services.mozilla.com/D93494
2020-10-14 20:30:30 +00:00
Kartikaya Gupta
c1f643dd3c Bug 1669982 - Add a log to catch suspicious calls to SetDisplayPortMargins. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D93493
2020-10-14 20:26:55 +00:00
Gerald Squelart
871634702e Bug 1665265 - Prevent chunks from being marked done with the same timestamps in quick tests - r=gregtatum
These unit tests were going through chunks very quickly in tight loops, which on some platforms could cause successive chunks to be marked "done" with the same timestamps.
Distinct timestamps are needed to uniquely identify chunks (in each process), and related assertions caught that. In real Firefox code, chunks are much bigger (around 1MB), and fill at a slower rate, so timestamps are always different as expected there.
To fix this artificial issue in our unit tests, delays are introduced before each `MarkDone()`, to ensure that they'll get a different timestamp every time.

Differential Revision: https://phabricator.services.mozilla.com/D93479
2020-10-14 21:23:31 +00:00
Ryan Hunt
e10a553221 Bug 1649247 - wasm: Fix tests and add new one for eqref. r=lth
The existing gc tests relied on struct <: externref in various ways,
this commit fixes this.

Additionally a new test is added for checking we have dynamic tests
for eqref on all wasm value entry points.

Differential Revision: https://phabricator.services.mozilla.com/D93002
2020-10-14 21:16:43 +00:00
Ryan Hunt
2cd3bec0ee Bug 1649247 - wasm: Refine struct.narrow and ref.eq to use eqref input types. r=lth
Give ref.eq type of [eqref, eqref] : [i32], closing a corner case where boxed
JS values could be compared for equality.

Restrict struct.narrow to operate on eqref, as that's the super type of structs.
This also allows us to drop an unboxing from externref -> typed object as that
is now done in all wasm entries.

Differential Revision: https://phabricator.services.mozilla.com/D93001
2020-10-14 21:17:15 +00:00
Ryan Hunt
385de45350 Bug 1649247 - wasm: Implement eqref. r=lth
This commit adds support for the eqref value type. It shares the same
representation as externref, with the restriction that all values must
be TypedObject's. Dynamic type checks similar to funcref are added to
stubs.

As fallout from anyref removal, struct types were left as subtypes of
externref. This commit switches them to be subtypes of eqref.

As a small tweak, the ordering on cases when switching on refTypeKind()
were standardized to binary order (i.e. funcref, externref, eqref).

I think we can refactor some code to simplify the process of adding
new reftypes and would like to do that in the future.

Differential Revision: https://phabricator.services.mozilla.com/D93000
2020-10-14 21:17:44 +00:00
Eitan Isaacson
2e476d423a Bug 1671049 - Invalidate cached ARIA role and role in mozAccessible when role changes. r=morgan
Besides the ARIA role invalidation, this fixes an issue where the mozAccessible's role is also incorrect when the aria role changes on a body tag.

Depends on D93439

Differential Revision: https://phabricator.services.mozilla.com/D93440
2020-10-14 00:04:49 +00:00
Eitan Isaacson
c548ecd683 Bug 1671049 - Cache proxy ARIA role in mozAccessible. r=morgan
Differential Revision: https://phabricator.services.mozilla.com/D93439
2020-10-14 00:04:54 +00:00
Matt Woodrow
3844d4ec36 Bug 1670793 - Hold animated shared surface until the end of the composite when using software GL. r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D93463
2020-10-14 21:02:40 +00:00
Jeff Muizelaar
3fd8898736 Bug 1670404 - Cleanup profile_create_rgb_with_table. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D93156
2020-10-14 20:46:29 +00:00
Glenn Watson
c89df9173f Bug 1669567 - Increase the default tile size used for scrollbars. r=jnicol
Most platforms have scrollbars > 16 pixels in width. This typically
reduces the number of native layers allocated on most platforms for
scrollbars. This is quite important as the fixed overhead of each
native layer is relatively high on DC and CA.

Differential Revision: https://phabricator.services.mozilla.com/D92871
2020-10-12 00:09:44 +00:00
Tarek Ziadé
616eb184b2 Bug 1670216 - Speed up tests. r=sparky
Shaved off 15 seconds (and fixed small code issues in the proxy layer)

Differential Revision: https://phabricator.services.mozilla.com/D93080
2020-10-14 19:31:51 +00:00
Glenn Watson
7f9d9ca2c3 Bug 1667918 - Pt 4 - Remove clipped_world_rect from primitive vis. r=nical
This patch removes the last use of clipped_world_rect, and removes
it from the PrimitiveVisibility struct.

Instead, the already calculated tile rect is used for visibility
determination when picture caching is enabled. When picture caching
is disabled, the clipped world rect is calculated on demand but
not stored.

This patch also introduces an enum for current visibility state,
which gives better control over accessing visibility information
depending on the current pass of frame building.

Differential Revision: https://phabricator.services.mozilla.com/D92545
2020-10-13 19:37:19 +00:00
Jeff Muizelaar
25c5cd2354 Bug 1671034 - Avoid creating CTFonts from CGFonts. r=lsalzman
The CGFonts end up in a cache that we don't want. Creating the CTFonts
directly should avoid this.

Notes:
add_native_font normally takes a CGFont and we need a CTFontDescriptor
so we convert to postscript name and then postscript name to
CTFontDescriptor. This is wasteful but avoids needing to change the
external API.

To avoid copying the data in the Vec we use a CFAllocator to wrap the
Vec for use by CFData

Differential Revision: https://phabricator.services.mozilla.com/D93518
2020-10-14 20:42:25 +00:00
Glenn Watson
b4aecd470f Bug 1670842 - Pt 1 - Remove option to disable picture caching. r=jnicol
This patch removes the public API and high level logic for
disabling picture caching for debugging and pinch-zoom in
some cases.

Follow up patches will remove and simplify the internal parts
of WR that remain to handle the disabled picture caching
code path.

Differential Revision: https://phabricator.services.mozilla.com/D93446
2020-10-14 06:06:45 +00:00
Kartikaya Gupta
93ec4de40f Bug 1671193 - Don't try to set prefs in jittests as it doesn't work. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D93575
2020-10-14 20:37:29 +00:00
Chris Martin
e2f2de6530 Bug 1657404 - Change PGamepadTestChannel to "refcounted protocol" r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D93023
2020-10-14 20:33:55 +00:00
Chris Martin
bcd28df3be Bug 1657404 - Prepare GamepadTestChannelChild for "refcounted protocol" r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D93022
2020-10-14 20:33:32 +00:00
Chris Martin
54487648eb Bug 1657404 - Prepare GamepadTestChannelParent for "refcounted protocol" r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D93021
2020-10-14 20:33:13 +00:00
Chris Martin
a09ab4afe6 Bug 1657404 - Remove old IPDL workaround from GamepadTestChannelParent r=handyman
Differential Revision: https://phabricator.services.mozilla.com/D93019
2020-10-14 20:32:56 +00:00
Razvan Maries
3a501e1025 Backed out 3 changesets (bug 1667471) for perma failures on NavigationDelegateTest. CLOSED TREE
Backed out changeset ab5779c59cca (bug 1667471)
Backed out changeset f7642b4cb27a (bug 1667471)
Backed out changeset 1453c6199311 (bug 1667471)
2020-10-15 00:02:42 +03:00
Razvan Maries
1777b440d3 Backed out changeset 6fc2f6bba0a4 (bug 1666523) for perma failures on browser_print_paper_sizes.js. CLOSED TREE 2020-10-14 23:49:58 +03:00
Kris Taeleman
6f2f8b5cca Bug 1671235 - Enable desktop zoom for release. r=kats,botond,tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D93545
2020-10-14 20:14:46 +00:00
Agi Sferro
59d12591dd Bug 1667471 - Add header filter to GeckoSession.loader. r=snorp,esawin
This allows apps to modify the header filtering behavior, and introduces a safe
default (CORS safelisted).

Deprecated `loadUri` methods still maintain the old behavior so that we don't
inadvertently introduce bugs in apps.

Differential Revision: https://phabricator.services.mozilla.com/D91983
2020-10-14 19:54:42 +00:00
Agi Sferro
fde2db91f1 Bug 1667471 - Add builder-like replacement for loadUri. r=snorp,owlish
This introduces a new way of loading URIs in GeckoSession, using a builder-like
method `loader()` which deprecates the existing `loadUri`.

This change improves readability of long `loadUri` calls and allows us to add
more parameters without compromising usability.

It also fixes a bug where we were not short-circuiting the `onLoadRequest` call
in some cases.

Differential Revision: https://phabricator.services.mozilla.com/D91982
2020-10-14 19:54:39 +00:00
Agi Sferro
55236f8555 Bug 1667471 - Expose IsCORSSafelistedRequestHeader in WindowUtils. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D91981
2020-10-14 19:54:35 +00:00
Sam Foster
de2b36d2d8 Bug 1666523 - Update paperSizeUnit whenever we update paper size settings. r=mstriemer
* Only use paperWidth/paperHeight values from the settings when searching for a paper size match
* Calculate unit-appropriate values for paperWidth, paperHeight and write them to settings whenever a paper size is selected
* Always write paperSizeUnit and the width/height values to settings to ensure any bad data from prefs is overwritten

Differential Revision: https://phabricator.services.mozilla.com/D91021
2020-10-14 19:51:35 +00:00
Razvan Maries
a1a77c09cd Backed out 4 changesets (bug 1667454, bug 1668139) for perma failures on browser_media_control.js. CLOSED TREE
Backed out changeset 302032fe6d64 (bug 1668139)
Backed out changeset 859ee72e9e57 (bug 1668139)
Backed out changeset fe7de882fcbf (bug 1667454)
Backed out changeset dfd0308f5ab7 (bug 1667454)
2020-10-14 22:59:00 +03:00
Julian Descottes
2345d6df04 Bug 1648444 - [marionette] Use JSWindowActors for marionette reftests navigation r=marionette-reviewers,whimboo,jgraham,maja_zf
The goal is to stop using the listener.js framescript to support navigation in reftests using marionette.
Instead we will port the current logic to JSWindowActor.

Differential Revision: https://phabricator.services.mozilla.com/D92648
2020-10-14 19:44:26 +00:00
Lee Salzman
ce73fa347a Bug 1671055 - support partial stores at end of row in SWGL composites. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D93443
2020-10-14 19:31:57 +00:00
Agi Sferro
fb84d4b14d Bug 1671184 - Don't send GeckoView settings to child processes. r=snorp
Now that GeckoViewSettingChild is an actor, nobody listens to settings in the
child anymore.

Differential Revision: https://phabricator.services.mozilla.com/D93512
2020-10-14 17:26:02 +00:00
Kartikaya Gupta
8ed2ac71fb Bug 1671217 - Ensure we clear mIsFirstPaint in the visual-viewport-only MVM case. r=tnikkel
There should be no user-visible correctness change here, just doing less
unnecessary work.

Differential Revision: https://phabricator.services.mozilla.com/D93540
2020-10-14 19:26:27 +00:00
Kartikaya Gupta
02a191588c Bug 1671048 - Reduce places that include RepaintRequest.h. r=botond
Depends on D93437

Differential Revision: https://phabricator.services.mozilla.com/D93547
2020-10-14 19:23:45 +00:00
Kartikaya Gupta
2b3cc88839 Bug 1671048 - Add serializer for RepaintRequest. r=botond
This prints out selected useful fields from the RepaintRequest when the APZ
code generates a repaint request.

Differential Revision: https://phabricator.services.mozilla.com/D93437
2020-10-14 19:23:57 +00:00
Kartikaya Gupta
a0b73e45df Bug 1671048 - Tweak the FrameMetrics serializer. r=botond
- The presShell id seems to be not very useful, so drop it.
- Be more explicit about the scrollId which is generally quite useful (I always
  have a hard time remembering which number is the scrollId)
- Label the RCD node with "rcd" rather than a "1" vs "0"

Differential Revision: https://phabricator.services.mozilla.com/D93436
2020-10-14 17:59:52 +00:00
alwu
873f48060e Bug 1668139 - part2 : add a telemetry probe to know how many actions are handled by default handler or media session handler. r=chunmin
It would be good for us to know how many websites actually use MediaSession API to control (play/pause/stop) their media playback, an how many websites use our default handler.

Differential Revision: https://phabricator.services.mozilla.com/D93283
2020-10-13 22:42:59 +00:00
alwu
32fa7ff7fb Bug 1668139 - part1 : add a telemetry probe to record the usage on each different platform. r=chunmin
Each platform has different ways to allow users to use media control, adding a telemetry probe to detect that would be good for us to know the usage among different platforms.

Differential Revision: https://phabricator.services.mozilla.com/D93282
2020-10-13 22:42:59 +00:00
Harry Twyford
83c008cce2 Bug 1647929 - Announce tab-to-search results to screen readers. r=Jamie,mak,fluent-reviewers,flod
This is a pretty simple implementation of the approach discussed in the bug. When a tab-to-search result is shown, we announce it to screen readers. We keep track of which engines are announced to be sure we don't keep announcing the same engine as the user types.

This approach is maybe slightly crude, but I didn't find a working elegant approach. One approach I considered is checking for tab-to-search results in the loop in UrlbarView._updateResults. After the loop is finished, if we found a tab-to-search result, we go back and change the aria-label on the action text of the prior result to something like "Visit, or press Tab to search with { $engine }. This didn't work because we don't read action text for the heuristic result as the user types. This is presumbably to avoid disrupting the user as they type. This is what my patch does regardless, however... Since Jamie was skeptical about whether we should announce this at all, I put this behaviour behind a default-true pref, browser.urlbar.tabToSearch.accessibility.announceResults.

Differential Revision: https://phabricator.services.mozilla.com/D93451
2020-10-14 17:22:33 +00:00
Sebastian Hengst
790dbb95da Bug 1647313 - disable browser_aboutDialog_fc_downloadAuto.js due to frequent failures. r=jmaher DONTBUILD
Didn't disable it in browser.bits.ini - from the logs, the bits pref gets set
to false before the failures.

Differential Revision: https://phabricator.services.mozilla.com/D93581
2020-10-14 18:48:08 +00:00
Andrew Osmond
fea5897e94 Bug 1671253 - Enable WebRender for Intel driver 23.20.16.4973 on nightly. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D93579
2020-10-14 18:25:28 +00:00
Ryan Hunt
abc5c67423 Bug 1669784 - Remove TypedObject tests, split part 3. r=jandem
This commit removes all tests that used the old TypedObject API.

We may be able to salvage some of these tests in the future when
the Wasm GC API is clearer, but for now remove them.

Differential Revision: https://phabricator.services.mozilla.com/D92860
2020-10-14 17:56:26 +00:00
Ryan Hunt
b522a1592a Bug 1669784 - Remove TypedObject tests, split part 2.
Differential Revision: https://phabricator.services.mozilla.com/D93521
2020-10-14 17:55:59 +00:00
Ryan Hunt
13ce54709f Bug 1669784 - Remove TypedObject tests, split part 1.
Differential Revision: https://phabricator.services.mozilla.com/D93520
2020-10-14 17:55:30 +00:00
Razvan Maries
bc440b6841 Bug 1664667 - Disabled browser_fullscreen.js on Linux. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D93227
2020-10-14 17:51:13 +00:00
Drew Willcoxon
dab0b6d64a Bug 1670932 - Don't restore urlbar search mode due to remoteness change. r=mak
When navigating to a new URL that requires a remoteness change, session store
restores the tab after the change. The restore races the `gURLBar.setURI` call
that happens due to the location change. If the restore happens after the
`setURI` call, then the search mode is "restored" even though a new page was
loaded.

The session store code surrounding the chunk that I modified in bug 1655486
checks for a remoteness change before trying to restore `userTypedValue`. If the
restore is due to a remoteness change, then it doesn't restore `userTypedValue`.
We just need to do the same for search mode.

Also, I think we should be using `TabStateCache` here, not `TabState.collect`.
`TabStateCache` is updated in `restoreTab` and is available throughout the
restore process. `TabState.collect` on the other hand is a live view of the
given tab, so if search mode happens to be active when `collect` is called, then
the returned tab state will have `searchMode` defined, which is not what we want
here. But I'm not sure why the surrounding code here uses `TabState.collect`
instead of `TabStateCache` in order to restore `userTypedValue`. It seems like
an error to me, but I might be missing something.

Due to the racey nature of this bug, writing a test isn't so easy, so this patch
doesn't have one. It will be obvious through manual testing if this regresses.

Differential Revision: https://phabricator.services.mozilla.com/D93455
2020-10-14 13:23:31 +00:00
Harry Twyford
a8a88b6d18 Bug 1668873 - Change tab-to-search icon to a magnifying glass. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D93411
2020-10-14 16:22:53 +00:00
Simon Giesecke
ea7696b50f Bug 1663924 - Use IDB_TRY in OpenDatabaseOp::DoDatabaseWork. r=dom-workers-and-storage-reviewers,ttung
Differential Revision: https://phabricator.services.mozilla.com/D92274
2020-10-14 16:53:13 +00:00
alwu
826647dbc4 Bug 1667454 - part2 : add telemetry probe to record the number of times a user changes media control setting. r=preferences-reviewers,mossop,Gijs
Differential Revision: https://phabricator.services.mozilla.com/D92872
2020-10-14 15:27:46 +00:00