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

30424 Коммитов

Автор SHA1 Сообщение Дата
Magnus Melin e4574c7ab0 Bug 1524836 - Move new HTML about:config page from browser to toolkit. r=fluent-reviewers,preferences-reviewers,geckoview-reviewers,Gijs,agi
Unbitrot and change strategy for geckoview: now map about:config directly in nsAboutRecirector.cpp

Differential Revision: https://phabricator.services.mozilla.com/D25938
2021-01-26 00:27:56 +00:00
Edgar Chen 48c01f0a8b Bug 1688105 - Part 2: Get rid of dom.w3c_pointer_events.enabled; r=smaug
Depends on D102668

Differential Revision: https://phabricator.services.mozilla.com/D102669
2021-01-25 16:22:44 +00:00
Edgar Chen ca799a4ad8 Bug 1688105 - Part 1: Get rid of dom.w3c_pointer_events.multiprocess.android.enabled; r=geckoview-reviewers,smaug,agi
Differential Revision: https://phabricator.services.mozilla.com/D102668
2021-01-22 16:40:13 +00:00
Dimi Lee 2055f0ff86 Bug 1589074 - Fix geckoview test failures after changing default referrer policy to strict-origin-when-cross-origin. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D88554
2021-01-25 13:26:51 +00:00
Csoregi Natalia 086251db75 Backed out 2 changesets (bug 1686989, bug 1684469) for auth and dialog box failures. CLOSED TREE
Backed out changeset 111af4c2bf6b (bug 1684469)
Backed out changeset 81794f8a220b (bug 1686989)
2021-01-25 21:47:43 +02:00
Agi Sferro d0ea404038 Bug 1686808 - Don't use regex to parse URIs in WebExecutor. r=owlish
The harmless looking regex

```
uri.matches("(http|blob).*")
```

has a flaw: it will not accept URLs that contain a new line character. In that
case GeckoWebExecutor errors out with "Unsupported URI scheme." when in reality
that's not the problem at all.

Since it has caused a bunch of headaches to the frontend already, let's just
replace that regex with a plain `startsWith` which should work in all cases.

Differential Revision: https://phabricator.services.mozilla.com/D102943
2021-01-25 18:20:31 +00:00
Paul Zuehlcke 54cce40f63 Bug 1684469 - Allow showing multiple async auth prompts at the same time. r=necko-reviewers,sfoster,agi
- Made asyncPromptAuth fully async.
- Removed auth prompt queuing from LoginManagerAuthPrompter asyncPromptAuth implementation.
- If there are multiple auth prompts with the same target in a tab, consolidate them.
- Removed unused method asyncPromptAuthBC.
- Fixed an issue with PromptTestUtils#waitForPrompt where it didn't always return
  the correct prompt.
- Added test for multi tab auth prompts.

Differential Revision: https://phabricator.services.mozilla.com/D102306
2021-01-22 10:18:38 +00:00
Butkovits Atila 69babd862d Backed out 11 changesets (bug 1589074) for causing failures on test_DownloadCore.js.
Backed out changeset 10e37ec238ee (bug 1589074)
Backed out changeset a306f2483d73 (bug 1589074)
Backed out changeset b7a0d73a2885 (bug 1589074)
Backed out changeset da996dc79d5d (bug 1589074)
Backed out changeset 3cffd4570c8e (bug 1589074)
Backed out changeset 9fe67741eb5a (bug 1589074)
Backed out changeset e8e6d9a6b90d (bug 1589074)
Backed out changeset 78df7f0ccb31 (bug 1589074)
Backed out changeset 712f147c5a41 (bug 1589074)
Backed out changeset f093f3c48807 (bug 1589074)
Backed out changeset 454beae0f635 (bug 1589074)
2021-01-25 14:57:00 +02:00
Dimi Lee 3222982679 Bug 1589074 - Fix geckoview test failures after changing default referrer policy to strict-origin-when-cross-origin. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D88554
2021-01-22 08:48:11 +00:00
Robbendebiene cdec8d59d8 Bug 1679688 - make host permissions grant access to privileged parts of the tabs API and fix Bug 1686443 r=robwu,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D98471
2021-01-23 14:09:22 +00:00
Agi Sferro 55c70145f1 Bug 1686808 - Add debugging information for invalid scheme in fetch(). r=droeh
Differential Revision: https://phabricator.services.mozilla.com/D102633
2021-01-21 20:54:55 +00:00
Dylan Roeh f56be74395 Bug 1687523 - Do not call onSessionStateChange if session state is null or contains no history. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D102425
2021-01-21 16:43:01 +00:00
Hiroyuki Ikezoe b759a55797 Bug 1687430 - Introduce INPUT_RESULT_IGNORED to represent nsEventStatus_eConsumeNoDefault. r=botond,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D102270
2021-01-21 00:24:33 +00:00
Tim Huang e50502e5c2 Bug 1687390 - Part 1: Set the name of window when calling window.open() with 'noopener' in GeckoView. r=geckoview-reviewers,agi
This patch makes the aName in the GeckoViewNavigation.openURIInFrame() to
be set properly to the new opened window when calling window.open() with
'noopener'.

Differential Revision: https://phabricator.services.mozilla.com/D102240
2021-01-20 20:39:13 +00:00
Shane Caraveo 98c9307c72 Bug 1594234 manifest v3 content security validation improvements r=robwu,geckoview-reviewers,agi
This patch adds CSP validation for manifest v3 changes when parsing the addon manifest.

Differential Revision: https://phabricator.services.mozilla.com/D100720
2021-01-19 19:42:41 +00:00
Shane Caraveo 4a14410028 Bug 1594234 manifest v3 content security policy support r=robwu,geckoview-reviewers,agi
Implement manifest v3 CSP that is compatible with the current chrome implementation.

Support for content_security_policy.isolated_world (a.k.a. content_security_policy.content_scripts)
has been removed for consistency with
345390adf6%5E%21/

Differential Revision: https://phabricator.services.mozilla.com/D100573
2021-01-07 14:53:18 +00:00
Emilio Cobos Álvarez cd99d52bde Bug 1673683 - Copy activeness status in CanonicalBrowsingContext::ReplacedBy, instead of handling it on consumers. r=nika,agi
Differential Revision: https://phabricator.services.mozilla.com/D102220
2021-01-20 15:09:09 +00:00
smolnar 1182b67f0f Backed out changeset 8e3490247126 (bug 1673683) for causing bc failures in browser_aboutNewTab_bookmarksToolbar.js CLOSED TREE 2021-01-20 15:17:08 +02:00
Emilio Cobos Álvarez a3f5fa882e Bug 1673683 - Copy activeness status in CanonicalBrowsingContext::ReplacedBy, instead of handling it on consumers. r=nika,agi
Differential Revision: https://phabricator.services.mozilla.com/D102220
2021-01-20 12:16:20 +00:00
smolnar a905f86ac5 Merge autoland to mozilla-central. a=merge 2021-01-20 11:49:57 +02:00
smolnar b3bcdd2462 Backed out changeset ae3db166c985 (bug 1673683) for causing empty pinned tabs with fission (bug 1687616). a=backout DONTBUILD 2021-01-20 11:46:11 +02:00
William Durand 620f570acb Bug 1686187 - Use AMO API v4. r=robwu
AMO API v3 is deprecated and we should now use API v4. Both versions are pretty similar even if the [changelog](https://addons-server.readthedocs.io/en/latest/topics/api/overview.html#v4-api-changelog) appears to be large (we mainly added new features).

I reviewed our usage of the AMO API in FF and diff'ed the API responses. I didn't notice any main difference except for `about:addons` disco, which is why I removed some code related to old properties.

Differential Revision: https://phabricator.services.mozilla.com/D101945
2021-01-19 18:10:24 +00:00
Emilio Cobos Álvarez 199530f89a Bug 1673683 - Copy activeness status in CanonicalBrowsingContext::ReplacedBy, instead of handling it on consumers. r=nika,agi
Differential Revision: https://phabricator.services.mozilla.com/D102220
2021-01-19 17:21:24 +00:00
Eugen Sawin 3b175177dd Bug 1682005 - [1.0] Attach the telemetry proxy when attaching to the runtime to avoid premature proxy registration. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D102194
2021-01-19 17:34:12 +00:00
Anny Gakhokidze 3ae9a2f63d Bug 1630908 - Part 1: Pass OriginAttributes to be included with remote type, r=nika,marionette-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D101073
2021-01-19 22:23:29 +00:00
Dan Minor 57ae936f38 Bug 1420335 - Make OSPreferences::ReadDateTimePattern check 12h/24h on Android; r=zbraniecki
As is the case with GTK, Android provides an OS override to display times in
AM/PM or 24 hour format. This moves the code for rewriting skeletons from the
GTK specific code to OSPreferences, and calls it from the Android OSPreferences
implementation.

This was tested manually by visiting the file:/// uri. I don't believe this is
feasible to test from automation, as it would require changing Android OS settings
from within our test code.

Differential Revision: https://phabricator.services.mozilla.com/D101641
2021-01-15 19:28:12 +00:00
Agi Sferro cc616d4e76 Bug 1685389 - Use callback.resolveTo instead of result.accept. r=esawin
One thing I've noticed before going on break last year is that a lot of the
times we don't close out promises when an error occurs. Our code normally does
something like:

```
delegatePromise.then(response -> {
    // manipulate response
    callback.resolve(manipulatedResponse);
})
```

where `delegatePromise` is the `GeckoResult` from a delegate. The problem here
is that if the `delegatePromise` is rejected, the above never rejects the
callback.

A month ago we introduced `callback.resolveTo(result)` which obviates this
problem a little bit (it will rejects the callback if the result is rejected)
but it's still a little hard to use because you need to then the result to the
right value.

`result.map` sort of closes this gap a little bit and now you can write
something like this:

```
callback.resolveTo(delegatePromise.map(value -> {
     // manipulate value to match the response
    return manipulatedValue;
});
```

Which is the recommended way to resolve callbacks in GV

Another problem with callback.reject is that we pretty much only support strings but it's not made really clear (some existing code in GV returns an exception there, which doesn't work). resolveTo will take care of that by using the message of the exception passed in

Differential Revision: https://phabricator.services.mozilla.com/D101093
2021-01-15 17:29:34 +00:00
Jonathan Kew bb780cf223 Bug 1685122 - Don't allow U+3000 in testcase to trigger an async fallback and reflow, which may disrupt a following test. r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D101877
2021-01-15 16:21:42 +00:00
Mike Hommey 5552bc3c4a Bug 1686646 - In mozconfigs, don't set paths to tools configure can now find on its own. r=firefox-build-system-reviewers,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D101721
2021-01-15 04:33:09 +00:00
Agi Sferro f05a40ee57 Bug 1686809 - Use Locale.ROOT when calling toLowerCase. r=owlish
By default `toLowerCase` uses the device's Locale, which could have unexpected
consequences on non-en_US locales.

See also
https://github.com/googleapis/google-http-java-client/pull/420#issue-200260049.

Differential Revision: https://phabricator.services.mozilla.com/D101822
2021-01-14 22:16:05 +00:00
Mike Hommey a9c5e28258 Bug 1480005 - Move NM to python configure. r=firefox-build-system-reviewers,nalexander
There is only one place where it's used:
config/check_vanilla_allocations.py, which is only executed from
js/src/build/Makefile.in on the condition that the build is targeting
Linux and not LTO. But the LTO test is actually outdated, because we
don't build with `-flto`, but `-flto=thin`, so the exclusion doesn't
work anymore.

There is however no AC_CHECK_PROG, and we currently rely on NM to be
given, or fall back to "nm", which works in most cases, except LTO with
clang. It works on CI because in LTO builds we explicitly set NM to
llvm-nm (which can output symbols from LLVM bitcode objects), but we
could also do that automatically.

So we add a full detection of nm/llvm-nm to python configure, and limit
it to Linux, since we only ever use it there.

Differential Revision: https://phabricator.services.mozilla.com/D101681
2021-01-14 20:17:08 +00:00
Mike Hommey 3a558130b5 Bug 1480005 - Remove check for RANLIB. r=firefox-build-system-reviewers,nalexander
It hasn't been used since bug 569597 and bug 1295937.

Differential Revision: https://phabricator.services.mozilla.com/D101680
2021-01-14 03:40:45 +00:00
Mike Hommey 647145eef9 Bug 1480005 - Look for llvm-ar for AR when compiling with clang. r=firefox-build-system-reviewers,nalexander
And stop setting AR to llvm-ar in mozconfigs.

Differential Revision: https://phabricator.services.mozilla.com/D101679
2021-01-14 03:41:39 +00:00
Narcis Beleuzu 242a631698 Backed out changeset 10cb82a1a314 (bug 1643736) for geckoview failures on testBrowserTabsCreate 2021-01-14 21:10:40 +02:00
ankushduacodes 066250f7d6 Bug 1643736 - Adding appropriate check before passing cookieStoreId to GeckoViewTabBridge.createNewTab() r=robwu,agi
Differential Revision: https://phabricator.services.mozilla.com/D100151
2021-01-14 16:57:45 +00:00
Bogdan Tara 60482b14fc Backed out changeset dc9229077eaa (bug 1420335) for security/manager* and toolkit/mozapps/* xpc failures CLOSED TREE 2021-01-14 18:43:19 +02:00
Dan Minor 487bcdd4ea Bug 1420335 - Make OSPreferences::ReadDateTimePattern check 12h/24h on Android; r=zbraniecki
As is the case with GTK, Android provides an OS override to display times in
AM/PM or 24 hour format. This moves the code for rewriting skeletons from the
GTK specific code to OSPreferences, and calls it from the Android OSPreferences
implementation.

This was tested manually by visiting the file:/// uri. I don't believe this is
feasible to test from automation, as it would require changing Android OS settings
from within our test code.

Differential Revision: https://phabricator.services.mozilla.com/D101641
2021-01-14 13:45:40 +00:00
Aaron Klotz b55bf5ac03 Bug 1611554: Part 3 - Use jinja templates to generate GeckoChildProcessServices.java and AndroidManifest_overlay.xml; r=geckoview-reviewers,agi
This patch converts `GeckoChildProcessServices.java` into a jinja template.
We also add an overlay generated from a jinja template for `AndroidManifest.xml`
that provides the definitions for content process services.

Note that even though Gradle supports simple substitution of variables in
manifests, I opted not to use that functionality. Since we need the more
powerful template functionality that jinja provides, I felt that having multiple
ways to substitute information into the manifest would be confusing, so we're
using jinja exclusively.

Differential Revision: https://phabricator.services.mozilla.com/D82578
2021-01-13 01:19:15 +00:00
Aaron Klotz ae684a1dee Bug 1611554: Part 2 - Modify GeckoView build to generate manifest and service definitions from jinja files; r=nalexander,geckoview-reviewers,snorp
* We add a config option for setting the number of content services;
* We add a config option to indicate whether content services should be isolated.
  This one is just a `project_flag` since it doesn't really need the ability to
  be overridden; it's something whose default we would want to flip when the
  time comes;
* We set a dependency so that mobile/android/base/pre-export is executed;
* We add the `gen_from_jinja.py` script which is mostly just a dumb shim that
  takes the input template and the config arguments, instantiates jinja,
  generates the final output, and dumps it to the output fd;
* We add the requisite `moz.build` statements to generate the manifest overlay
  and the service definitions;
* We update `build.gradle` so that Gradle knows to look for the generated files
  when building the apk.

Differential Revision: https://phabricator.services.mozilla.com/D82577
2021-01-13 17:32:54 +00:00
Butkovits Atila bcdf48f6d6 Backed out 3 changesets (bug 1611554) for causing bustage on recurse.mk. CLOSED TREE
Backed out changeset bb1ce63d73ec (bug 1611554)
Backed out changeset 0d4317da1006 (bug 1611554)
Backed out changeset dc905e5db0cc (bug 1611554)
2021-01-13 03:16:17 +02:00
Aaron Klotz 898fb17519 Bug 1611554: Part 3 - Use jinja templates to generate GeckoChildProcessServices.java and AndroidManifest_overlay.xml; r=geckoview-reviewers,agi
This patch converts `GeckoChildProcessServices.java` into a jinja template.
We also add an overlay generated from a jinja template for `AndroidManifest.xml`
that provides the definitions for content process services.

Note that even though Gradle supports simple substitution of variables in
manifests, I opted not to use that functionality. Since we need the more
powerful template functionality that jinja provides, I felt that having multiple
ways to substitute information into the manifest would be confusing, so we're
using jinja exclusively.

Differential Revision: https://phabricator.services.mozilla.com/D82578
2021-01-13 00:38:25 +00:00
Aaron Klotz 669a8ecdcc Bug 1611554: Part 2 - Modify GeckoView build to generate manifest and service definitions from jinja files; r=nalexander,geckoview-reviewers,snorp
* We add a config option for setting the number of content services;
* We add a config option to indicate whether content services should be isolated.
  This one is just a `project_flag` since it doesn't really need the ability to
  be overridden; it's something whose default we would want to flip when the
  time comes;
* We set a dependency so that mobile/android/base/pre-export is executed;
* We add the `gen_from_jinja.py` script which is mostly just a dumb shim that
  takes the input template and the config arguments, instantiates jinja,
  generates the final output, and dumps it to the output fd;
* We add the requisite `moz.build` statements to generate the manifest overlay
  and the service definitions;
* We update `build.gradle` so that Gradle knows to look for the generated files
  when building the apk.

Differential Revision: https://phabricator.services.mozilla.com/D82577
2021-01-13 00:24:06 +00:00
Aaron Klotz affae3f451 Bug 1686100: Follow-up to fix lint failure; r=bustage
CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D101417
2021-01-11 23:53:07 +00:00
Aaron Klotz a30b099b2e Bug 1686100: Route Service.onTrimMemory notifications through to Gecko's memory-pressure observer; r=geckoview-reviewers,agi
Gecko already broadcasts `memory-pressure` events from the parent process down
to its content processes, but that excludes any case where Android is calling
`Service.onTrimMemory` directly on the content processes.

This patch handles `onTrimMemory` and translates its requests into
`memory-pressure` events that various Gecko components (including the GC)
listen for. We only handle the severity levels for background processes for now,
as memory cleanup for background processes is currently the most pressing issue
(and I'm not even sure what we could do for foreground memory cleanup without
janking anything).

The argument to `memory-pressure` should depend on the severity of the request
as well as the frequency of pressure events. In particular:

* The most severe request, `TRIM_MEMORY_COMPLETE`, is a last-ditch effort to
  reduce memory. This should trigger a full GC, so we use `low-memory` here.
* "New" requests, where "new" is defined as an event that was triggered in
  excess of 10 seconds since the previous "new" event, also gets a full GC, so we
  use `low-memory` here as well.
* Additional requests that do not fall under either of the above criteria
  receive the `low-memory-ongoing` event, which omits a full GC. The idea here
  is that, when low memory notifications occur in rapid succession, repeatedly
  doing full GCs over and over is just going to hang the Gecko thread and not
  result in any notable improvement.

Differential Revision: https://phabricator.services.mozilla.com/D101406
2021-01-11 22:08:00 +00:00
Agi Sferro ea5931e9fd Bug 1685614 - Use GeckoResult in EventDispatcher. r=owlish,snorp
This patch adds `queryString`, `queryBoolean`, `queryVoid` and `queryBundle` to
`EventDispatcher` in place of `dispatch(type, message, callback)`.

These `query*` methods returns a `GeckoResult` which can be manipulated using
`GeckoResult.map`.

Differential Revision: https://phabricator.services.mozilla.com/D96951
2021-01-07 22:24:46 +00:00
Agi Sferro 9eb3454733 Bug 1684761 - Pass null principal for external loads. r=aklotz,ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D100837
2021-01-07 21:36:33 +00:00
Kartik Gautam 7ae6aea145 Bug 1684173 - Add newline character at end of files when missing r=sylvestre,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D100484
2021-01-07 08:53:08 +00:00
Hiroyuki Ikezoe 510659d878 Bug 1674104 - Reset the vertical clipping value to zero whenever we change the dynamic toolbar max height. r=botond
So that we will not mis-align position:fixed elements with the old stale
clipping value.

Differential Revision: https://phabricator.services.mozilla.com/D100862
2021-01-06 18:05:52 +00:00
Agi Sferro 83036590b9 Bug 1682668 - Improve error messages when TabDelegate is not present. r=owlish
Differential Revision: https://phabricator.services.mozilla.com/D99851
2021-01-06 20:17:51 +00:00
Agi Sferro d07e5d1640 Bug 1682668 - Add GeckoResult.map. r=owlish,aklotz
This method allows callers to synchronously map a GeckoResult value to another
value.

Differential Revision: https://phabricator.services.mozilla.com/D96950
2021-01-06 20:18:54 +00:00