Updated HTML parser to allow <hr> in <select>.
Updated internal toolkit UI for <select> dropdown to create
menuseperators for hrs.
Updated WPT expectations:
- HTML5Lib WebKit parsing for it now passes 100%
Also includes Android support, but Fenix does not support separators
in the menus used (single/multiple) yet so they are not rendered.
Differential Revision: https://phabricator.services.mozilla.com/D189065
This patch makes the clipboard context menu trigger from the parent process rather
than the content process. A new method, `confirmUserPaste`, is added on `nsIPromptService`
to trigger frontend UI.
The behavior of handling multiple requests should remain unchanged, new tests are
added to ensure that.
Differential Revision: https://phabricator.services.mozilla.com/D190405
Removed `onGetNimbusFeature` from the session. Please use
`ExperimentDelegate.onGetExperimentFeature` for the same functionality.
Differential Revision: https://phabricator.services.mozilla.com/D194424
Added Email Tracker Blocking to `Strict` blocking mode which will be consumed by Fenix in their new Total Private Browsing Mode. Added `Pref`s for `privacy.trackingprotection.emailtracking.enabled` and `urlclassifier.features.emailtracking.blocklistTables`.
Added test in `ContentBlockingControllerTest` for testing "privacy.trackingprotection.emailtracking.enabled" setting in `ContentBlocking`.
Also added a generic method for anti-tracking to list pref in ContentBlocking.java.
Differential Revision: https://phabricator.services.mozilla.com/D192379
When the Mozsearch plugin is enabled and when we compile the android
target, this uses the semanticdb-javac and semanticdb-kotlinc compiler
plugins to generate semanticdb files during the compilation process.
In order to index all files, all files need to be compiled at least
once, so this adds a `mach android compile-all` command to ensure that,
otherwise some examples and AndroidTests were not necessarily compiled.
Note that the AndroidTests do not have a release configuration so will
not be indexed when we build in release mode. The existing searchfox
mozconfigs are all set to debug so this should not be an issue.
To build the android-gradle-dependencies toolchain, all dependencies
must be accessible from the root build.gradle, so this also adds a flag
--download-all-gradle-dependencies to ignore conditional dependency
uses in gradle code.
Differential Revision: https://phabricator.services.mozilla.com/D192925
This bug adds a GV API to control setting translation preferences including:
* Get/Set Language Preferences (Runtime)
* Get/Set Site Preferences (Session)
* Get/Set Popup Offer Preferences (Runtime)
Setting the language preference was streamlined for the API to correspond to always, offer, and never.
Differential Revision: https://phabricator.services.mozilla.com/D193252
Actually, we use `GeckoViewContent.sendToAllChildren` to send full screen
message to child.
According to bug 1505916, we should use request origin actor instead.
Differential Revision: https://phabricator.services.mozilla.com/D193610
In Fission, when this particular navigation happens, we switch process. It's an expected Fission behavior. However, because we switch process, we can no longer test if multiple sessions sharing the same process receive the onCrash or onKill calls. Originally, the navigation was added to the test to get rid of a race condition, when the first tab would crash while the second was still initializing. That is no longer a danger for this test as it has evolved and now we have lots of things happening between initializing the second session and crashing the first one. So to fix the test, I am removing the navigation to make sure the tab stays in the same content process.
Differential Revision: https://phabricator.services.mozilla.com/D193578
On Android, contents are shared in using uris with a content scheme, hence this patch
adds a new protocol handler for 'content://', a new type of input stream in order to read
them and a new type of channel.
Differential Revision: https://phabricator.services.mozilla.com/D174782
It's not entire obvious in bug 1820027 which process is actually
crashing. There is a discrepancy between the "Process Type" and
"Android_ProcessName" fields in the crash reports. This patch adds the
service class name to the exception to make it more obvious, as well
as a bit more information about the previous state of the process.
Differential Revision: https://phabricator.services.mozilla.com/D193294
On Android, contents are shared in using uris with a content scheme, hence this patch
adds a new protocol handler for 'content://', a new type of input stream in order to read
them and a new type of channel.
Differential Revision: https://phabricator.services.mozilla.com/D174782
This patch includes the following changes:
- A new AddonManagerDelegate.onReady delegated method: this new delegated method is expected to be called when an extension
has been started.
On the firefox-android's android-components side (in particular the components providing the building blocks used by the
Fenix AddonManager UI) are meant to be using this new delegated method to make sure that the resolved optionsPageUrl will
be stored in the installedExtension map kept on the android-components side (by the WebExtensionSupport class to be precise),
as a side-effect of that the settings button in the addon detail view is expected to become visible after having
installed a new extension from AMO (as it was already the case for addons installed from the recommended set directly from
the Fenix Addon Manager).
- Removes the implicit await on the extension to be ready from the underlying logic handling on the Gecko side the calls to
the WebExtensionController.install method (which before these changes was the hack meant to make sure the settings button
would be visible after installing an addon from the Fenix AddonManager UI).
- Replaces the previous test case asserting that the optionsPageUrl was going to be available right after having installed
the extension (which was working only thanks to the implicit await described right above) with a test case covering the
new expected behavior.
NOTE: To fully fix the issue tracked by this bugzilla ticket, this change has to be complemented with some more changes on the
firefox-android github repo side, in particular the once included in this draft patch:
- 630e305adb/firefox-android--01-androidcomponents-changes.patch
Differential Revision: https://phabricator.services.mozilla.com/D193085
The patch add a CookieBannerExceptionCleaner and a
CookieBannerExecutedRecordCleaner to ClearDataService. The cleaners
clear the cookie banner handling data. We will also clear the executed
record when cleaning cookies or dom storage so that the cookie banner
handling will run again after cleaning.
Differential Revision: https://phabricator.services.mozilla.com/D190764
GeckoView can hook error page by `NavigationDelegate.onLoadError`. But
when this delegation returns `null`, test-support Web extensions won't
be loaded correctly.
A content script of Web extensions is loaded when first document element
is inserted. But when `onLoadError` returns null, there is no document
element. So content script won't be loaded on this situation.
If not fission, content script is already loaded. But if fission, content
script may not be loaded if switching process by loading new URL.
So we should return non-null string if we use `evaluateJS`.
Also, `document.reloadWithHttpsOnlyException` may causes that the document
will be unloaded immediately before native message isn't handled. So I
add a workaround to retry it.
Differential Revision: https://phabricator.services.mozilla.com/D189217
The patch add a CookieBannerExceptionCleaner and a
CookieBannerExecutedRecordCleaner to ClearDataService. The cleaners
clear the cookie banner handling data. We will also clear the executed
record when cleaning cookies or dom storage so that the cookie banner
handling will run again after cleaning.
Differential Revision: https://phabricator.services.mozilla.com/D190764
This bug mocks the required information that is not available in
automation due to remote settings not being available.
This patch includes a way to mock a translations offer or the conditions
of an expected translation. Additionally, it will send synthetic data
on some endpoints when `browser.translations.geckoview.enableAllTestMocks` is
set and in automation.
Differential Revision: https://phabricator.services.mozilla.com/D192397