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

30016 Коммитов

Автор SHA1 Сообщение Дата
Markus Stange a2b3d3f84d Bug 1655580 - Stop leaking surfaces that were captured with RequestScreenPixels. r=geckoview-reviewers,agi
FlipScreenPixels was heap-allocating and leaking a ScopedMap object, which kept
the surface alive.

Instead, we want to keep the surface alive just long enough to copy its data
into a Java Bitmap object. This copy needs to be done on the C++ side so that
we're sure that it happens while the surface data exists. After that, the Java
code can hold on to the resulting Bitmap object as long as it wants, since the
Bitmap then owns its own data.

The ScreenshotBuilder GeckoView API allows users to specify the bitmap object
that will be used. So rather than creating a new Bitmap object in the C++ code,
we pass the target bitmap into the C++ code that performs the copy.

As a drive-by fix, this patch eliminates another copy at the start of
FlipScreenPixels by replacing a call to `gfx::CreateDataSourceSurfaceFromData`
(which copies) with a call to `gfx::Factory::CreateWrappingDataSourceSurface`
(which doesn't copy).
It would be nice if we could eliminate another copy here, by performing the flip
during the copy into the Bitmap object. But I don't think there's a way to do
that. Also, for optimal performance, we probably want to get an AHardwareBuffer
object from the compositor and wrap that into a Bitmap.

Furthermore, the patch adds a check that makes sure the draw target was created
successfully before accessing it (throwing an exception if not).

Differential Revision: https://phabricator.services.mozilla.com/D85490
2020-07-31 23:03:50 +00:00
Butkovits Atila 2704c94f2a Backed out changeset 4ba66dd08e1e (bug 1655580) as requested by mstange. CLOSED TREE 2020-08-01 01:37:24 +03:00
Markus Stange 60d55ce831 Bug 1655580 - Stop leaking surfaces that were captured with RequestScreenPixels. r=geckoview-reviewers,agi
FlipScreenPixels was heap-allocating and leaking a ScopedMap object, which kept
the surface alive.

Instead, we want to keep the surface alive just long enough to copy its data
into a Java Bitmap object. This copy needs to be done on the C++ side so that
we're sure that it happens while the surface data exists. After that, the Java
code can hold on to the resulting Bitmap object as long as it wants, since the
Bitmap then owns its own data.

The ScreenshotBuilder GeckoView API allows users to specify the bitmap object
that will be used. So rather than creating a new Bitmap object in the C++ code,
we pass the target bitmap into the C++ code that performs the copy.

As a drive-by fix, this patch eliminates another copy at the start of
FlipScreenPixels by replacing a call to `gfx::CreateDataSourceSurfaceFromData`
(which copies) with a call to `gfx::Factory::CreateWrappingDataSourceSurface`
(which doesn't copy).
It would be nice if we could eliminate another copy here, by performing the flip
during the copy into the Bitmap object. But I don't think there's a way to do
that. Also, for optimal performance, we probably want to get an AHardwareBuffer
object from the compositor and wrap that into a Bitmap.

Furthermore, the patch adds a check that makes sure the draw target was created
successfully before accessing it (throwing an exception if not).

Differential Revision: https://phabricator.services.mozilla.com/D85490
2020-07-31 21:28:27 +00:00
owlishDeveloper a8cc59f852 Bug 1655618 - Add Web Extension Downloads API implementation stubs r=geckoview-reviewers,agi,esawin
Differential Revision: https://phabricator.services.mozilla.com/D85174
2020-07-30 19:12:16 +00:00
Agi Sferro 3b4ead5ae4 Bug 1656078 - Handle negative FONT_SCALE values. r=owlish
Differential Revision: https://phabricator.services.mozilla.com/D85337
2020-07-30 16:48:32 +00:00
Agi Sferro 3767fc3e36 Bug 1654856 - Move ext-android to json. r=robwu,owlish
Differential Revision: https://phabricator.services.mozilla.com/D84739
2020-07-29 21:44:09 +00:00
Dylan Roeh cc4b588caf Bug 1654361 - Add support for enabling/disabling cookie purging in ContentBlocking.Settings r=esawin,geckoview-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D84558
2020-07-29 20:56:24 +00:00
Noemi Erli 5cebe61c77 Backed out changeset 4ed7b13fb7a5 (bug 1633710) for causing failures in browser_amosigned_url.js CLOSED TREE 2020-07-29 22:34:42 +03:00
Sebastian Streich ea482d8e73 Bug 1633710 - Move uri.spec calls to nsIPrincipal r=necko-reviewers,geckoview-reviewers,preferences-reviewers,ckerschb,ntim,snorp,valentin
Differential Revision: https://phabricator.services.mozilla.com/D82911
2020-07-29 17:33:10 +00:00
sotaro ef1444274c Bug 1654169 - Use single buffered mode surface as sync surfacce if possible r=geckoview-reviewers,snorp
Single buffered mode surface could reduce memory usage.

Differential Revision: https://phabricator.services.mozilla.com/D84296
2020-07-23 18:17:04 +00:00
owlishDeveloper 1bc152b7de Bug 1654621 - Make nsIExternalHelperAppService::createListener more generic to include mobile r=necko-reviewers,geckoview-reviewers,snorp,mattwoodrow,dragana
Differential Revision: https://phabricator.services.mozilla.com/D84738
2020-07-27 22:39:48 +00:00
Makoto Kato 5439bf4b30 Bug 1651257 - iFLYTEC IME often commits composition string unfortunately. r=geckoview-reviewers,snorp
This is timing issue when using iFLYTEC keyboard in Xiaomi App Store.

Although replace text transaction often dispatch dummy text change, it may be
unnecessary when other text change is already in text change queue. This issue
occurs if dummy text change is dispatched in the queue and other text change
is also dispatched in the queue.

`AddIMETextChange` merges old text change with newer text change when its range
is overlapped, but it doesn't consider range is same. So if same range, we
should adjust old end simply.

GV-junit test case emulates this situation, but since this is timing issue,
we won't reproduce this by this test case. But it is useful to check future
regressions.

Differential Revision: https://phabricator.services.mozilla.com/D84140
2020-07-21 13:50:46 +00:00
Emilio Cobos Álvarez e8e49cddfa Bug 1358633 - Enable window.find on GeckoView. r=geckoview-reviewers,snorp
I just tested it on Fenix nightly and it works great. It better do
actually, as most of the code is shared with find-in-page.

See bug 750051 for when this was blocked. I don't think that was
properly understood at the time, but at this point the divergence from
desktop seems gratuitous.

This has caused compat issues in the past.

Differential Revision: https://phabricator.services.mozilla.com/D84758
2020-07-24 14:23:14 +00:00
Jonathan Almeida [:jonalmeida] e9a6ea525b Bug 1607092 - Add new quote from Book of Mozilla for GeckoView r=geckoview-reviewers,Pike,agi
Differential Revision: https://phabricator.services.mozilla.com/D80575
2020-07-07 02:22:07 +00:00
Dorel Luca 990d081d9f Backed out 2 changesets (bug 1651519) for WPT failures in webdriver/tests/switch_to_frame/switch.py. CLOSED TREE
Backed out changeset 7b973a0e7be9 (bug 1651519)
Backed out changeset 55e9184c5617 (bug 1651519)
2020-07-22 02:47:34 +03:00
Kris Maglione d182c95351 Bug 1651519: Part 2 - Also remove nsIDOMWindowUtils::outerWindowID. r=nika,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82957
2020-07-21 22:19:19 +00:00
James Willcox ecaad75230 Bug 1639577 - Only suspend GeckoView tabs that are alone in their BrowsingContextGroup r=nika,geckoview-reviewers,agi
This avoids problems where a foreground tab tries to communicate with a background
tab via `window.opener`, but is unable to because the background tab
is suspended.

Differential Revision: https://phabricator.services.mozilla.com/D83693
2020-07-21 21:04:53 +00:00
Dorel Luca d91c6dc40b Backed out 2 changesets (bug 1651519) for wpt failures in webdriver/tests/switch_to_frame/switch.py. CLOSED TREE
Backed out changeset 52317abc5c68 (bug 1651519)
Backed out changeset 45448dca59a4 (bug 1651519)
2020-07-21 21:55:57 +03:00
Kris Maglione 4a25531b4a Bug 1651519: Part 2 - Also remove nsIDOMWindowUtils::outerWindowID. r=nika,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82957
2020-07-21 16:59:33 +00:00
Nathan Froyd 4f9a75cfd6 Bug 1652870 - use new dump_syms for Android builds; r=geckoview-reviewers,snorp
Faster and more maintainable is good.

Differential Revision: https://phabricator.services.mozilla.com/D83561
2020-07-20 19:02:30 +00:00
Cameron McCormack dd61f595eb Bug 1620467 - Part 4: Change internal uses of -moz-appearance to appearance and -moz-default-appearance. r=emilio,webcompat-reviewers,geckoview-reviewers,preferences-reviewers,ntim,agi,miketaylr
Uses of `-moz-appearance: none` are changed to `appearance: none`.

Uses of other values that are simply reverting the appearance back to
its default are changed to `appearance: auto`.

Uses of values in UA sheets that are defining the inherent appearance of
widgets are changed to:

  appearance: auto;
  -moz-default-appearance: <value>;

since those values are either no longer supported on (-moz-)appearance,
or are still supported but only in some limited form.

There are some uses of `-moz-appearance: textfield` on <input
type=number> elements that are renamed to `appearance: textfield`.

Differential Revision: https://phabricator.services.mozilla.com/D83430
2020-07-16 22:04:14 +00:00
Xidorn Quan 0f6b1b3064 Bug 1350875 part 5 - Have junit fullscreen test wait for fullscreen change to finish. r=geckoview-reviewers,agi
Depends on D68681

Differential Revision: https://phabricator.services.mozilla.com/D83624
2020-07-15 14:21:13 +00:00
Makoto Kato 1b95a01795 Bug 1651019 - Check current inputted value to avoid timing issue. r=geckoview-reviewers,esawin
To sync Gecko's text with Java text correctly, I would like to add more text
and selection check each `InputConnection.setComposingText` call.

Differential Revision: https://phabricator.services.mozilla.com/D83464
2020-07-14 13:15:11 +00:00
Cosmin Sabou 1129658f1a Backed out 2 changesets (bug 1652870) for bustages on Android GeckoView multi-arch fat AAR.
Backed out changeset c279e71779dc (bug 1652870)
Backed out changeset 0d8e1da6bb40 (bug 1652870)
2020-07-15 21:50:08 +03:00
Grace Bramley-Simmons 4cc1dd5d02 Bug 1649803 - Added an API stub for the Menus API r=agi,geckoview-reviewers,snorp
Added private/protected, unimplemented versions of the necessary Java
classes for the menus API, set up event dispatching and listening.

Differential Revision: https://phabricator.services.mozilla.com/D82383
2020-07-15 16:37:28 +00:00
Nathan Froyd 6c7c60a3ca Bug 1652870 - use new dump_syms for Android builds; r=geckoview-reviewers,snorp
Faster and more maintainable is good.

Differential Revision: https://phabricator.services.mozilla.com/D83561
2020-07-15 12:59:00 +00:00
Dorel Luca 775a192261 Backed out 2 changesets (bug 1652870) for Android bustage. CLOSED TREE
Backed out changeset 48a10a9249b0 (bug 1652870)
Backed out changeset 94ffbec77e89 (bug 1652870)
2020-07-15 15:35:45 +03:00
Nathan Froyd c7df38111d Bug 1652870 - use new dump_syms for Android builds; r=geckoview-reviewers,snorp
Faster and more maintainable is good.

Depends on D83560

Differential Revision: https://phabricator.services.mozilla.com/D83561
2020-07-14 21:33:12 +00:00
Csoregi Natalia 5106918e11 Backed out changeset d0ff30e1d830 (bug 1650692) for toolchains failures on ImageDecoderTest.kt. CLOSED TREE 2020-07-15 07:42:37 +03:00
Tiger Oakes f543954b4b Bug 1650692 - ImageDecoder improvements, r=agi,geckoview-reviewers,snorp
Differential Revision: https://phabricator.services.mozilla.com/D82308
2020-07-15 03:14:54 +00:00
Dylan Roeh 94d069f381 Bug 1651454 - Add strictSocialTrackingProtection to ContentBlocking.Settings.Builder and getStrictSocialTrackingProtection to ContentBlocking.Settings r=esawin,geckoview-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D82796
2020-07-14 16:38:18 +00:00
Agi Sferro 51a1c98a33 Bug 1650897 - Return the top window for extension popups. r=robwu,owlish
When using the `tabs.query` API in a popup (e.g. a browserAction popup)
extensions expects to refer to the window where the popup is.

On mobile we don't really have a concept of window in the way that extensions
expect us to have, we also treat all tabs as belonging to separate tabs.

To make the behavior of the extension API more consistent with desktop, we
pretend that the popup belongs to whatever the top tab is at the time.

Differential Revision: https://phabricator.services.mozilla.com/D82769
2020-07-13 18:01:57 +00:00
Agi Sferro d8589ad28e Bug 1650897 - Track active tab in a Deque in TestRunnerActivity. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D83354
2020-07-13 18:02:11 +00:00
Agi Sferro 4c2ab7cfdb Bug 1650897 - Support browser action popups in TestRunnerActivity. r=owlish
Differential Revision: https://phabricator.services.mozilla.com/D82768
2020-07-13 18:02:04 +00:00
Agi Sferro 0838754860 Bug 1650897 - Send the entire Action object for openPopup. r=owlish
We use this object on the Java side to open the popup and without this change
we don't look at the default popup URL when the tab-specific one is not
defined.

Differential Revision: https://phabricator.services.mozilla.com/D82767
2020-07-13 18:02:02 +00:00
Agi Sferro 7d792ecc3e Bug 1650897 - Remove empty delegate methods in TestRunnerActivity. r=owlish
Differential Revision: https://phabricator.services.mozilla.com/D82766
2020-07-13 18:01:59 +00:00
Marco Bonardo 14784dc42d Bug 1650201 - Fix mozStorage prefs read before profile and fallback to a non-exclusive VFS when it can't get an exclusive lock. r=asuth,geckoview-reviewers,agi
mozStorage used to read prefs on service init, because they could only be read
on the main-thread. When service init was moved earlier, it started trying
to read prefs too early, before the profile was set up, thus it ended up always
reading the default value.

This patch moves the only relevant pref to mirrored StaticPrefs that can be accessed
from different threads, and removes two preferences that apparently are not necessary
(they have been broken from a long time) for now.
In particular, providing a global synchronous setting is a footgun, each consumer should
decide about their synchronous needs, rather than abusing a dangerous "go fast" setting.
The page size is something we don't change from quite some time, and it's unlikely to be
used to run experiments in the wild before doing local measurements first, for which Try
builds are enough.

The remaining exclusiveLock pref is a bit controversial, because in general exclusive lock
is better for various reasons, and mostly it is necessary to use WAL on network shares.
Though developers may find it useful for debugging, and some third parties are doing
dangerous things (like copying over databases) to work around it, for which it's safer to
provide a less dangerous alternative.
Note exclusive lock only works on Unix-derived systems for now (no Windows implementation).

Finally, this introduces a fallback to exclusive lock, so that if a third party is using our
databases, so that we can't get an exclusive lock, we'll fallback to normal locking.

Differential Revision: https://phabricator.services.mozilla.com/D82717
2020-07-10 21:45:53 +00:00
Kris Maglione 9d78661f88 Bug 1649221: Update ChromeUtils.generateQI callers to pass strings. r=mccr8,remote-protocol-reviewers,marionette-reviewers,perftest-reviewers,webcompat-reviewers,geckoview-reviewers,preferences-reviewers,agi,whimboo,Bebe,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D81594
2020-07-10 23:58:28 +00:00
Tom Prince 204d796929 Bug 1651731: [lint] Python and shell files without `#!` should not be executable; r=linter-reviewers,perftest-reviewers,geckoview-reviewers,agi,sylvestre,sparky
Differential Revision: https://phabricator.services.mozilla.com/D82954
2020-07-09 20:29:18 +00:00
Tom Prince 2c52622b85 Bug 1651731: [lint] Add a bunch more types of files that should never be executable; r=linter-reviewers,perftest-reviewers,geckoview-reviewers,preferences-reviewers,agi,sylvestre,sparky
Differential Revision: https://phabricator.services.mozilla.com/D82953
2020-07-09 21:28:49 +00:00
Kris Maglione 6a39211860 Bug 1464542: Part 3b - Add existing Services.jsm registrations to the new services cache. r=mccr8,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D81419
2020-07-09 21:42:25 +00:00
Csoregi Natalia b355fcc4bf Backed out 6 changesets (bug 1464542) for xpcshell failures on test_Services.js. CLOSED TREE
Backed out changeset b50af9005851 (bug 1464542)
Backed out changeset 9d3a0ea2cf65 (bug 1464542)
Backed out changeset 71c3475fcbc2 (bug 1464542)
Backed out changeset 51ff93220a95 (bug 1464542)
Backed out changeset e84de1547c09 (bug 1464542)
Backed out changeset bbecc16d08eb (bug 1464542)
2020-07-09 23:19:26 +03:00
Kris Maglione d09458dc51 Bug 1464542: Part 3b - Add existing Services.jsm registrations to the new services cache. r=mccr8,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D81419
2020-07-09 17:59:16 +00:00
James Willcox 43c90527a5 Bug 1641597 - Add `document.allowDeprecatedTls` for error pages r=geckoview-reviewers,NeilDeakin,smaug,esawin
Differential Revision: https://phabricator.services.mozilla.com/D78365
2020-07-08 15:37:18 +00:00
Agi Sferro 3908397355 Bug 1638724 - Check for extension id instead of extension. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D82443
2020-07-07 18:51:02 +00:00
Agi Sferro 9020761a1a Bug 1640418 - Fix onBeforeUnload intermittent. r=esawin
The problem here is that sometimes the test clicks on the two links too quickly
and only the second click goes through the onBeforeUnload path and the first
one is ignored.

Differential Revision: https://phabricator.services.mozilla.com/D82442
2020-07-07 18:51:04 +00:00
Narcis Beleuzu de7afe990b Backed out 2 changesets (bug 1638724, bug 1640418) for build bustages on WebExtensionTest.kt. CLOSED TREE
Backed out changeset ca9ad40caa79 (bug 1638724)
Backed out changeset 8824d1cadb7a (bug 1640418)
2020-07-07 21:47:40 +03:00
Agi Sferro 18cef8bb4b Bug 1638724 - Check for extension id instead of extension. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D82443
2020-07-07 16:57:01 +00:00
Agi Sferro c4f94e2e85 Bug 1640418 - Fix onBeforeUnload intermittent. r=esawin
The problem here is that sometimes the test clicks on the two links too quickly
and only the second click goes through the onBeforeUnload path and the first
one is ignored.

Differential Revision: https://phabricator.services.mozilla.com/D82442
2020-07-07 16:57:09 +00:00
Dylan Roeh 76475c8adb Bug 1646392 - Do not report tracking content as loaded simply because it has matched tracking lists. r=esawin,geckoview-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D82379
2020-07-07 16:05:56 +00:00