Commit Graph

716648 Commits

Author SHA1 Message Date
Peter Van der Beken
898f742a19 Bug 1649628 - Make history.length return 1 if session history is unavailable. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D82341
2020-07-07 10:17:52 +00:00
Axel Hecht
d8de3ed277 Bug 1615225, document cross-channel l10n, r=flod
Differential Revision: https://phabricator.services.mozilla.com/D70340
2020-07-07 09:54:00 +00:00
Valentin Gosu
6dd9cb9291 Bug 1649127 - Only trigger confirmation in TRR-first and TRR-only modes r=dragana,necko-reviewers
Due to a change in timing in this patch, when we reset the confirmation pref
at the end of the test, a TRR request would happen after we changed the prefs
leading to accessing a non-local IP in testing and causing a crash.
This should be gated on being in the correct mode anyway

Depends on D81517

Differential Revision: https://phabricator.services.mozilla.com/D82222
2020-07-04 15:39:45 +00:00
Valentin Gosu
9b25e934ea Bug 1649127 - Make sure we only set AddrHostRecord::mTRRUsed = true when TRRServiceChannel::AsyncOpen succeeds r=dragana,necko-reviewers
mTRRUsed is a variable that we check to gate several telemetry probes, and to
decide if TRR really failed and we should add a domain to the TRR blocklist.
The problem with setting this too early is that when this is true but we
don't actually send the TRR request, then we will report that we fell back
to Do53 and potentially skip next TRR requests in the future.

The solution here is to only set mTRRUsed if TRRServiceChannel::AsyncOpen
succeeds.

Differential Revision: https://phabricator.services.mozilla.com/D81517
2020-07-07 10:08:28 +00:00
André Bargull
ac4982144d Bug 1650526: Preserve negative zero for MPow with int32 specialisation. r=jandem
Removes the incorrect optimisation added in D37584 for IonBuilder and keeps it
only in `MPow::foldsTo()` when optimising the cases when power ∈ {2,3,4}.
Also changes `MPow::canBeNegativeZero()`'s access modifier to private, now that
it's only used within `MPow::foldsTo()`.

Differential Revision: https://phabricator.services.mozilla.com/D82338
2020-07-06 13:03:45 +00:00
Masayuki Nakano
ec9ecbc50f Bug 1647556 - part 3-3: Implement the other complicated case of GetInvisibleLeadingWhiteSpaceRange() r=m_kato
Different from `GetInvisibleTrailingWhiteSpaceRange()`, it always returns
the range even if it's collapsed (i.e., there is no leading white-space).

Differential Revision: https://phabricator.services.mozilla.com/D82274
2020-07-07 09:21:27 +00:00
Simon Giesecke
d7346bf488 Bug 1650754 - Simplify algorithm in DeleteIndexOp::RemoveReferencesToIndex using std::equal_range. r=dom-workers-and-storage-reviewers,edenchuang
Differential Revision: https://phabricator.services.mozilla.com/D82374
2020-07-06 21:36:55 +00:00
Nicolas Silva
a4fc3e389e Bug 1650403 - Skip invisible clusters in the batching pass. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D82194
2020-07-06 08:43:15 +00:00
Nicolas Silva
a99ab630fd Bug 1650403 - Skip invisible clusters in the prepare pass. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D82192
2020-07-05 20:41:24 +00:00
Gijs Kruitbosch
86a446c282 Bug 1650490 - clarify documentation about commit messages, reviewers and checkin-needed, r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D82238
2020-07-07 08:42:02 +00:00
Csoregi Natalia
fe1354b164 Backed out changeset 4ed5a0e27c05 (bug 1647732) for font related wpt failures. CLOSED TREE 2020-07-07 12:31:27 +03:00
Mihai Alexandru Michis
3a33785d38 Backed out changeset 9b15a67a50c3 (bug 1650834) as requested by Sylvestre.
CLOSED TREE
2020-07-07 11:49:36 +03:00
Jonathan Kew
b9d874ff7d Bug 1650013 - Strip unexpected leading slash from absolute path on Windows when loading hyphenation resource. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D81980
2020-07-07 04:45:16 +00:00
Sylvestre Ledru
9c734f1175 Bug 1650834 - Make tools/lint code black compatible r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D82401
2020-07-07 08:09:31 +00:00
Julian Descottes
4b8b29c396 Bug 1650510 - Wait for requests to settle in all browser_aboutdebugging_addons_debug_* tests r=daisuke
Depends on D82362

Differential Revision: https://phabricator.services.mozilla.com/D82363
2020-07-07 08:09:33 +00:00
Julian Descottes
3b4194393d Bug 1650510 - Rewrite browser_aboutdebugging_addons_debug_* using regular test APIs r=daisuke
When switching from a dedicated addon toolbox to an about:devtools-toolbox tab, we did a minimal migration for the browser_aboutdebugging_addons_debug_* tests.
They used to inject a "toolbox test script" in the process of the addon toolbox. But we could have updated them with regular test APIs, async/await patterns etc.

Doing the migration now in preparation for adding calls to waitForRequestsToSettle in the next changeset.

Differential Revision: https://phabricator.services.mozilla.com/D82362
2020-07-07 08:09:24 +00:00
Jon Coppeard
ea42b7fa9a Bug 1650792 - Remove unused definition of FinalizationIteratorObject r=allstarschh
Differential Revision: https://phabricator.services.mozilla.com/D82378
2020-07-07 08:07:17 +00:00
Jean-Yves Avenard
fe08ecbad5 Bug 1650260 - Remove assertion. r=bryce
While the duration returned by the demuxer is typically equal to the decoded size; recent cases have shown that this isn't always the case.

Now, the only way you can encounter this bug is if the user has set some pref. the audio BlankDecoderModule is never used by default; only the video one.

Differential Revision: https://phabricator.services.mozilla.com/D82138
2020-07-06 22:04:41 +00:00
Liang-Heng Chen
e69b3bc58b Bug 1647732 - isolate font cache; r=baku,jfkthame,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D82034
2020-07-07 07:49:38 +00:00
Masayuki Nakano
abb2c132b1 Bug 1647556 - part 3-2: Implement complicated case of GetInvisibleTrailingWhiteSpaceRange() r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D82273
2020-07-07 07:39:20 +00:00
Nicholas Nethercote
977d5b8a57 Bug 1648348 - Create "Writing Rust Code" docs. r=froydnj,zbraniecki,lina.
This patch includes content from the following places.

- Lina's "Getting Rusty: How to ship an XPCOM component in Firefox" slide deck.
- Zibi's "Rust <--> C/C++ FFI for newbies" gist.

It also links to Emilio's "FFI patterns #1 - Complex Rust data structures
exposed seamlessly to C++" blog post. I was going to include that content, but
it's very long, so I have omitted it for now.

Differential Revision: https://phabricator.services.mozilla.com/D81963
2020-07-07 07:38:27 +00:00
Nicholas Nethercote
ba1e98b7ca Bug 1648348 - Fix formatting errors in the prefs parser's rustdocs. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D81962
2020-07-07 07:38:10 +00:00
Nicholas Nethercote
40c0751083 Bug 1648348 - Some more tweaks to the Rust build docs. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D81288
2020-07-07 07:38:02 +00:00
Sebastian Hengst
7847e18297 Backed out 3 changesets (bug 1145314) on request from ckerschb for regressions (e.g. bug 1650951)
Backed out changeset 664cc562ddf3 (bug 1145314)
Backed out changeset 9640a9d093c7 (bug 1145314)
Backed out changeset 5492ac0e42f7 (bug 1145314)
2020-07-07 09:32:27 +02:00
Perry Jiang
03a1a1da06 Bug 1588154 - remove invalid comment for SW pref r=dom-workers-and-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D75318
2020-05-14 20:57:57 +00:00
Csoregi Natalia
9f0cf20b98 Backed out changeset 5455671d51b2 (bug 1646860) for failures on browser_pioneer_ui.js. CLOSED TREE 2020-07-07 10:07:34 +03:00
Csoregi Natalia
0d0251640f Backed out changeset e3163482cc62 (bug 1635375) for bustages on BaselineIC.h. CLOSED TREE 2020-07-07 09:27:06 +03:00
Henrik Skupin
4c0df0de7c Bug 1649690 - [geckodriver] Validate android specific capabilities. r=webdriver-reviewers,nalexander,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D82226
2020-07-06 21:58:42 +00:00
Jan de Mooij
ff9dfe44e3 Bug 1635375 part 7 - Invalidate Warp code when transpiled IC stubs change. r=iain
Set a flag on stubs used by the transpiler and then treat those similar to a
constraint in the old system: invalidate when attaching a new IC stub (in front of
it), when updating the stub, or when unlinking the stub.

This is necessary to avoid repeated bailouts followed by a deoptimization in
CheckFrequentBailouts.

Differential Revision: https://phabricator.services.mozilla.com/D81823
2020-07-07 06:11:43 +00:00
Robert Helmer
93a769fb25 Bug 1646860 - Pioneer badge call-out on RemoteSettings update r=leplatrem
Differential Revision: https://phabricator.services.mozilla.com/D82255
2020-07-06 23:55:44 +00:00
Masayuki Nakano
0ed0d74c18 Bug 1647556 - part 3-1: Add API to WSRunScanner::TextFragmentData to get range of invisible leading or trailing white-spaces r=m_kato
One of the `WSFragment`users' purpose is, they remove invisible white-spaces
when there are.  So, `TextFragmentData` should have API to retrieve the
ranges and use them for initializing `WSFragment` which represents leading
or trailing white-spaces.  For making this patch smaller as far as possible,
these APIs implements only the case when there is no NBSP.

For result of the new API, this creates a template class, `EditorDOMRangeBase`,
whose boundary type is `EditorDOMPointBase`.  Its methods are named from
`nsRange`'s same methods.

Differential Revision: https://phabricator.services.mozilla.com/D82272
2020-07-07 05:31:34 +00:00
Mihai Alexandru Michis
87cb0ad6fa Backed out 6 changesets (bug 1627075) for causing bustages in StartupCache.cpp
CLOSED TREE

Backed out changeset fc144caf5d06 (bug 1627075)
Backed out changeset a345e05df151 (bug 1627075)
Backed out changeset 288a67aed661 (bug 1627075)
Backed out changeset 2cb021a493d8 (bug 1627075)
Backed out changeset 920398d1c3d3 (bug 1627075)
Backed out changeset ebdcd96a9d20 (bug 1627075)
2020-07-07 08:47:14 +03:00
Makoto Kato
558d46bd36 Bug 1633621 - Synchronize Java text and Gecko text at force when getting focus. r=geckoview-reviewers,agi
If client script wants to commit composition string per input, it sometimes
use the following script.

```
let input = document.getElementById('input');
input.addEventListener('input', () => {
  input.blur();
  input.focus();
});
```

Since `blur` will commit composition string, this script can commit text. But
since Gecko has an optimization for this situation, focus won't be lost
completely.

Although GeckoView synchronizes Java text and selection with Gecko text when
getting focus, this sample may be failed due to timing issue. `blur` tries to
commit string, but result is never returned since focus is lost as temporary
(although text is finally committed in Gecko.). Then, GeckoView are waiting
for result that is never returned forever, So this synchronization is failed.

When getting focus again, we should synchronize it at force.

Differential Revision: https://phabricator.services.mozilla.com/D80147
2020-07-06 16:26:08 +00:00
Doug Thayer
db15f70a3e Bug 1627075 - Include WebGLParent.h in WebGLChild.h r=handyman,jgilbert
Depends on D77634

Differential Revision: https://phabricator.services.mozilla.com/D79536
2020-07-07 04:36:34 +00:00
Doug Thayer
e3f3b7b80b Bug 1627075 - Route Omnijar requests through StartupCache r=froydnj
This should be a relatively straightforward patch. Essentially, we implement
a wrapper class (and friends) around nsZipArchive (and friends), which transparently
caches entries from the underlying zip archive in the StartupCache. This will break
without changes to the StartupCache, made in the patch after this, which allow it
to be used off of the main thread, and outside the main process.

Depends on D77635

Differential Revision: https://phabricator.services.mozilla.com/D77634
2020-07-07 04:36:27 +00:00
Doug Thayer
5ff30b60fa Bug 1627075 - OMT and OMP StartupCache access r=froydnj
The overall goal of this patch is to make the StartupCache accessible anywhere.
There's two main pieces to that equation:

1. Allowing it to be accessed off main thread, which means modifying the
   mutex usage to ensure that all data accessed from non-main threads is
   protected.
2. Allowing it to be accessed out of the chrome process, which means passing
   a handle to a shared cache buffer down to child processes.

Number 1 is somewhat fiddly, but it's all generally straightforward work. I'll
hope that the comments and the code are sufficient to explain what's going on
there.

Number 2 has some decisions to be made:
- The first decision was to pass a handle to a frozen chunk of memory down to
  all child processes, rather than passing a handle to an actual file. There's
  two reasons for this: 1) since we want to compress the underlying file on
  disk, giving that file to child processes would mean they have to decompress
  it themselves, eating CPU time. 2) since they would have to decompress it
  themselves, they would have to allocate the memory for the decompressed
  buffers, meaning they cannot all simply share one big decompressed buffer.

  - The drawback of this decision is that we have to load and decompress the
    buffer up front, before we spawn any child processes. We attempt to
    mitigate this by keeping track of all the entries that child processes
    access, and only including those in the frozen decompressed shared buffer.

  - We base our implementation of this approach off of the shared preferences
    implementation. Hopefully I got all of the pieces to fit together
    correctly. They seem to work in local testing and on try, but I think
    they require a set of experienced eyes looking carefully at them.

- Another decision was whether to send the handles to the buffers over IPC or
  via command line. We went with the command line approach, because the startup
  cache would need to be accessed very early on in order to ensure we do not
  read from any omnijars, and we could not make that work via IPC.

  - Unfortunately this means adding another hard-coded FD, similar to
    kPrefMapFileDescriptor. It seems like at the very least we need to rope all
    of these together into one place, but I think that should be filed as a
    follow-up?

Lastly, because this patch is a bit of a monster to review - first, thank you
for looking at it, and second, the reason we're invested in this is because we
saw a >10% improvement in cold startup times on reference hardware, with a p
value less than 0.01. It's still not abundantly clear how reference hardware
numbers translate to numbers on release, and they certainly don't translate
well to Nightly numbers, but it's enough to convince me that it's worth some
effort.

Depends on D78584

Differential Revision: https://phabricator.services.mozilla.com/D77635
2020-07-07 04:35:08 +00:00
Doug Thayer
51a40f3027 Bug 1627075 - Allow lazily initializing nsZipArchives r=froydnj
Opening our Omnijars can be expensive, and it should be deferrable until after
startup is completed, provided we have a startup cache. In a previous patch in this
stack, we implemented caching of the zip central directory for omnijars, but we
still have to open the file in order to hand the object off to various omnijar
consumers. In a later patch, we will wrap nsZipArchive access in a class which
will allow us to transparently cache nsZipArchive results. These two get us
most of the way to not needing to read from the underlying omnijar files during
startup, but there are still nontrivial pieces, like nsZipFind for instance,
which we don't want to just duplicate inside of a wrapper class, so we would
like to sort out a way in which we can use an nsZipArchive class, but not
actually back it up with the real underlying file until we really need data
from it which we can't find in a cache.

Depends on D77633

Differential Revision: https://phabricator.services.mozilla.com/D78584
2020-07-07 04:34:19 +00:00
Doug Thayer
7dcd89a08d Bug 1627075 - Init StartupCache before Omnijar r=froydnj
We need to be able to init StartupCache before the Omnijar in order to cache
all of the Omnijar contents we access. This patch implements that.

Depends on D77632

Differential Revision: https://phabricator.services.mozilla.com/D77633
2020-07-07 04:34:07 +00:00
Doug Thayer
5b755bb7f3 Bug 1627075 - Build Omnijar file list from startup cache r=froydnj
We would like to be able to defer opening the omnijar files until after startup
if the StartupCache has already been populated. Opening the omnijar files takes
a nontrivial time, at least on Windows, and almost everything in the omnijar
should be fairly compressible, and thus makes sense to live in the StartupCache.
See the last patch in this series for a little more discussion on numbers, but
tl;dr: we saw a 12% improvement in time to about:home being finished on reference
hardware with these changes together with the changes from the descendant patches.

Differential Revision: https://phabricator.services.mozilla.com/D77632
2020-07-07 04:33:49 +00:00
Dragana Damjanovic
7ec7ee4a9b Bug 1646961 - Set the correct version of QUIC to be used when initializing Http3Client from necko. r=agrover
Differential Revision: https://phabricator.services.mozilla.com/D82423
2020-07-06 19:50:20 +00:00
Matthew Noorenberghe
8496654289 Bug 1643431 - Extend some FX_MIGRATION_* histograms from version 80 to 86. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D81434
2020-07-06 15:56:31 +00:00
Makoto Kato
7472376d24 Bug 1650698 - Convert test_collation.js to gtest. r=jfkthame
test_collation.js uses nsICollation and nsICollationFactory from script, but
I would like to make it non-scriptable. Actually, it is only used from
xpcshell tests.

Differential Revision: https://phabricator.services.mozilla.com/D82310
2020-07-06 07:55:32 +00:00
Paul Bone
4cb7f584bf Bug 1647109 - Set the child history as in process when the BC is in process r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D82367
2020-07-07 01:10:01 +00:00
Nick Alexander
b41ff18a94 Bug 1641291 - Part 2: Make NSDISTMODE=copy impact install manifests. r=glandium
This is strictly a quality of life improvement when cross-compiling to
Windows targets.  A common scenario is mounting an object directory
into a Windows VM, which requires additional VM configuration to
handle (absolute) symlinks.  With this patch, `export NSDISTMODE=copy`
in a mozconfig sidesteps any such symlink issues.

Differential Revision: https://phabricator.services.mozilla.com/D77118
2020-07-07 02:16:12 +00:00
Nick Alexander
9d1281ef52 Bug 1641291 - Part 1: Allow cross-compiling from host macOS -> Windows target. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D77117
2020-07-07 02:13:35 +00:00
Nick Alexander
bcbf1ce06f Bug 1641291 - Pre: Work around logging not handling '\x' in old-configure output. r=froydnj
Windows accepts both paths, so let's just avoid the issue for now.

Differential Revision: https://phabricator.services.mozilla.com/D77116
2020-07-07 02:13:22 +00:00
David Major
4dbfa86c29 Bug 1650239 - Allow threads in our Mac clang build r=froydnj
Source history does not give any good clues about why this line was added in the first place. In any case, LLVM trunk currently has build bustage when threads are disabled. We could work around the bustage and/or wait for a fix, but it seems like threads are a good thing to have in general nowadays. Maybe this could help with LTO build times.

Differential Revision: https://phabricator.services.mozilla.com/D82447
2020-07-06 20:43:42 +00:00
Ryan VanderMeulen
c4d5af894a Bug 1648257 - Update pdf.js to version 2.6.87 r=bdahl
Differential Revision: https://phabricator.services.mozilla.com/D80960
2020-07-07 01:08:09 +00:00
Mike Hommey
f801a642f4 Bug 1650592 - Disable ICU dynamic loading. r=jwalden
For a while, now, ICU data has been stored as raw read-only data in rather
than a separate loadable library. This means the parts of ICU that can load
such a module are not necessary.

Differential Revision: https://phabricator.services.mozilla.com/D82262
2020-07-07 00:24:37 +00:00
Simon Giesecke
ae3a59197c Bug 1643613 - Check that ScheduleDeletion is only called once. r=asuth,dom-workers-and-storage-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D81853
2020-07-02 15:41:36 +00:00