Commit Graph

664244 Commits

Author SHA1 Message Date
Andreea Pavel
eb6f2642fa Backed out 7 changesets (bug 1565689) for assertion failures at MediaControlUtils.h on a CLOSED TREE
Backed out changeset 9ebf6f8a4fda (bug 1565689)
Backed out changeset 49c41a9238f9 (bug 1565689)
Backed out changeset 9014276e070a (bug 1565689)
Backed out changeset d9f7fcbef3ee (bug 1565689)
Backed out changeset d3db3285e933 (bug 1565689)
Backed out changeset 1ca26f550f4b (bug 1565689)
Backed out changeset 1d27d083e974 (bug 1565689)
2019-08-07 04:40:52 +03:00
Ting-Yu Lin
9615a105df Bug 1571930 - Convert a MOZ_ASSERT in nsColumnSetFrame::ReflowChildren() to be non-fatal. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D40910

--HG--
extra : moz-landing-system : lando
2019-08-07 01:28:29 +00:00
Nicolas Chevobbe
7613e0d9ae Bug 1570999 - Remove transferredResponseSize trait. r=jdescottes.
This was added in Firefox 38 and isn't used anywhere
in the codebase. Let's remove it.

Differential Revision: https://phabricator.services.mozilla.com/D40544

--HG--
extra : moz-landing-system : lando
2019-08-06 15:41:36 +00:00
Nicolas Chevobbe
57a0bb08b3 Bug 1570997 - Remove fetchCacheDescriptor trait. r=jdescottes.
This was added in Firefox 61, so we can safely remove it now.

Differential Revision: https://phabricator.services.mozilla.com/D40543

--HG--
extra : moz-landing-system : lando
2019-08-06 15:41:18 +00:00
Mark Hammond
05df0254b8 Bug 1568353 - set the default rest.js timeout to be 5 minutes. r=rfkelly
Differential Revision: https://phabricator.services.mozilla.com/D40927

--HG--
extra : moz-landing-system : lando
2019-08-07 05:25:49 +00:00
Nicholas Nethercote
12640bca82 Bug 1563555 - Generate static pref getters usable from Rust code. r=glandium
This patch introduces a new Rust crate called `static_prefs`.

It also changes generate_static_pref_list.py to generate two new files.

- StaticPrefsCGetters.cpp: contains C getters, which are just wrappers around
  the C++ getters. This is included into Preferences.cpp.

- static_prefs.rs: contains declarations for the C getters, plus the `pref!`
  macro which provides nice syntax for calling the C getters. This is included
  into static_prefs/src/lib.rs.

The new code is only generated for prefs marked with the new `rust` field in
the YAML. It's opt-in because there's no point generating additional code for
900+ static prefs when only about 20 are currently used from Rust.

This patch only marks a single pref (`browser.display.document_color_use`) with
`rust: true`. That pref isn't accessed from Rust code in this patch, but it's
necessary because the generated Rust code is invalid if there are zero
Rust-accessed prefs. (The next patch will access that pref and others from Rust
code.

Differential Revision: https://phabricator.services.mozilla.com/D40791

--HG--
extra : moz-landing-system : lando
2019-08-07 05:16:55 +00:00
Nicholas Nethercote
fb3388ccf2 Bug 1563555 - Improve structure of generate_static_pref_list.py. r=glandium
generate_static_pref_list currently has two functions:
- generate_header(): this checks the YAML and generates most of the code.
- emit_header(): this does a bit of additional code generation and writes the
  code to file.

This patch gives it a cleaner structure:
- check_pref_list(): this checks the YAML.
- generate_code(): this generates all the code. (It calls check_pref_list()
  first.)
- emit_code(): this just writes the code to file.

The patch also improves the testing in test_generate_static_pref_list.py,
so that it checks the full contents of all generated files.

All these improvements will help with the next patch, which adds two additional
generated files.

The patch also fixes a couple of minor errors in the comment at the top of
StaticPrefList.yaml.

Differential Revision: https://phabricator.services.mozilla.com/D40790

--HG--
extra : moz-landing-system : lando
2019-08-07 05:08:09 +00:00
tanhengyeow
9c8bc605a0 Bug 1566002 - Remove unnecessary key values and replace componentWillReceiveProps. r=nchevobbe
Remove unnecessary key values, replace componentWillReceiveProps, did some cleanup

Differential Revision: https://phabricator.services.mozilla.com/D39706

--HG--
extra : moz-landing-system : lando
2019-08-06 19:40:27 +00:00
Ciure Andrei
114c2b4403 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-08-07 07:37:08 +03:00
Gabriel Luong
de91da4b2a Bug 1568151 - Replace target.getInspector() by target.getFront("inspector"). r=ochameau
Differential Revision: https://phabricator.services.mozilla.com/D39914

--HG--
extra : moz-landing-system : lando
2019-08-07 04:17:31 +00:00
Marcos Cáceres
69d2abd930 Bug 1540695 - Omit credentials when fetching web manifest r=baku
Credentials should be excluded when requesting a web manifest.

Differential Revision: https://phabricator.services.mozilla.com/D29607

--HG--
extra : moz-landing-system : lando
2019-08-06 15:33:02 +00:00
Gerald Squelart
5d6dbb3289 Bug 1571392 - Make BlocksRingBuffer::EntryWriter move-only - r=gregtatum
It makes little sense to copy a writer (also an output iterator).

We're keeping it move-constructible (so it can be passed around for construction
purposes), but not move-assignable to help make more members `const`.

Differential Revision: https://phabricator.services.mozilla.com/D40622

--HG--
extra : moz-landing-system : lando
2019-08-07 01:54:45 +00:00
Gerald Squelart
c05de0f147 Bug 1571390 - BlocksRingBuffer::GetState() takes a snapshot of the current state - r=gregtatum
This makes it easier to grab all BlocksRingBuffer state variables:
- Range start and end.
- Number of pushed blocks/entries, number of cleared blocks/entries.

The function is thread-safe, and the returned values are consistent with each
other, but they may become stale straight after the function returns (and the
lock is released).
They are still valuable to statistics, and to know how far the range has at
least reached (but may go further soon).

Differential Revision: https://phabricator.services.mozilla.com/D40621

--HG--
extra : moz-landing-system : lando
2019-08-07 01:54:31 +00:00
Gerald Squelart
f2af619bd3 Bug 1571355 - Base Profiler mutex tweaks - r=gregtatum
Renamed `BPAutoLock` to `BaseProfilerAutoLock`.
DEBUG-build `~BaseProfilerMutex()` checks that it is unlocked.
Prevent `BaseProfilerMutex` and `BaseProfilerAutoLock` copies&moves.
DEBUG-build check that `Lock()` sees `mOwningThreadId`==0 (because that is the
initial value, and the value after a previous `Unlock()`).
Don't preserve atomic `mOwningThreadId` in JS recording.

Differential Revision: https://phabricator.services.mozilla.com/D40620

--HG--
extra : moz-landing-system : lando
2019-08-07 01:54:09 +00:00
Gerald Squelart
a2e0f9390e Bug 1571348 - ProfilerMarkerPayload::Set...() can be replaced with constructor arguments - r=gregtatum
`ProfilerMarkerPayload::Set...()` functions are only used by derived classes in
the same files, and these values could just be set during construction.

Differential Revision: https://phabricator.services.mozilla.com/D40619

--HG--
extra : moz-landing-system : lando
2019-08-07 01:53:55 +00:00
Daisuke Akatsuka
e7c694b138 Bug 1491874: Add test the keybindings for element picker with separate window. r=pbro
Differential Revision: https://phabricator.services.mozilla.com/D40400

--HG--
extra : moz-landing-system : lando
2019-08-07 02:08:23 +00:00
Daisuke Akatsuka
9aaf57a4e2 Bug 1491874: Keep the shortcut key consistency of during picker mode. r=pbro
Differential Revision: https://phabricator.services.mozilla.com/D40379

--HG--
extra : moz-landing-system : lando
2019-08-07 02:07:21 +00:00
Daisuke Akatsuka
5041bdc10b Bug 1491874: Prevent raising the toolbox. r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D40378

--HG--
extra : moz-landing-system : lando
2019-08-07 02:07:08 +00:00
Daisuke Akatsuka
de32ac622a Bug 1491874: Enable Cmd+Shift+C shortcut key on the separated toolbox. r=jdescottes
Differential Revision: https://phabricator.services.mozilla.com/D40377

--HG--
extra : moz-landing-system : lando
2019-08-07 02:07:01 +00:00
Bryce Seager van Dyk
ad116cb6e7 Bug 1547784 - Return an error if an EME associated MediaElement becomes inactive as deocder setup finishes. r=alwu
This fixes an edge case where it was possible for an HTMLMediaElement in the
middle of setup to have ownership transferred to a inactive document and deref a
null pointer. This happened because we have special handling for EME related
media where we perform more aggressive shutdown on for media in inactive
documents.

As far as I can tell, there's nothing specced that forbids performing EME
related functionality on elements in inactive documents. However, our code
already prevents doing so in other cases. E.g. if you create an inactive
document, place an HTMLMediaElement in it and try to setup EME related data on
it, then that will fail. So this fix just covers another such case.

While it would be nice to support doing these operations on inactive document's
media, it seems like very much an edge case, and something that would require a
large amount of reworking in how we handle inactive documents. We can cross that
bridge later should we ever need do so.

Differential Revision: https://phabricator.services.mozilla.com/D40482

--HG--
extra : moz-landing-system : lando
2019-08-06 17:48:41 +00:00
Bryce Seager van Dyk
48980be9fe Bug 1547784 - Add crashtest for moving media element with media keys to inactive doc. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D40481

--HG--
extra : moz-landing-system : lando
2019-08-06 17:48:29 +00:00
Mark Hammond
40d28c338b Bug 1561762 - better handle concurrent requests for FxA oauth tokens. r=eoger,rfkelly
Differential Revision: https://phabricator.services.mozilla.com/D38036

--HG--
extra : moz-landing-system : lando
2019-08-06 15:25:05 +00:00
rdalal
43acd674ea Bug 1569330 - Disable telemetry check in Normandy recipe runner r=mythmon,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D39576

--HG--
extra : moz-landing-system : lando
2019-08-06 23:54:34 +00:00
Makoto Kato
9f979c6057 Bug 1571605 - Don't use file separator to find classes.jar. r=agi
I have landed bug 1527796 to support artifact build on Windows, but after bug 1515248 is landed, it is broken again. Path separator on Windows is '\', not '/'.  So we should use leaf name instead.

Differential Revision: https://phabricator.services.mozilla.com/D40758

--HG--
extra : moz-landing-system : lando
2019-08-06 23:10:13 +00:00
Andreea Pavel
5c7466c411 Backed out changeset 3b0f04771005 (bug 1568361) Windows MinGW build bustages on a CLOSED TREE 2019-08-07 03:21:19 +03:00
Lina Cambridge
a353683d24 Bug 1567238 - Use the main Places connection for bookmarks mirror merges. r=mak
Before this change, the bookmarks mirror used a cloned Places
connection for reads and writes. This avoided interleaving writes from
Sync and other Places consumers, where `mozStorageTransaction` or
`Sqlite.jsm` would see that a transaction was already in progress, and
execute statements as part of that transaction.

However, using a separate connection caused write contention, wedging
the main connection in an infinite `SQLITE_BUSY` retry loop. This
blocked all writes to Places until shutdown, at which point we'd hang
waiting to shut down the async thread. Bug 1435446 reduced this, but
didn't eliminate the hangs entirely.

Since the mirror first landed, we've made three changes, to the point
that using the main connection is feasible now:

1. Merging and application happen in Rust. This means we run everything
   on the async thread, so no other async statements can run during
   merging.
2. Most uses of the synchronous bookmarks API have been removed. The
   only remaining caller is the tagging service, and we never sync the
   tags root.
3. We only update parents and positions for items that actually changed,
   instead of walking the entire tree.

To that end, this commit removes the cloned connection, and uses the
main Places connection directly.

Differential Revision: https://phabricator.services.mozilla.com/D39890

--HG--
extra : moz-landing-system : lando
2019-08-06 23:48:12 +00:00
Lina Cambridge
9320172d8f Bug 1567238 - Refactor the bookmarks mirror merge triggers to do less work. r=tcsc,markh
This commit reduces the number of database writes and table scans
needed to merge synced bookmarks.

* Remove `fetchNew{Local, Remote}Contents`. Fetching the tree already
  scans the table, so we can piggyback on it to fetch content info for
  deduping.
* Store completion ops in temp tables to only update changed parts of
  the local tree, and remove the `mergeStates` table and views.
* Replace the `itemsToMerge` view with an indexed `itemsToApply` temp
  table.
* Replace the `updateGuidsAndSyncFlags` trigger with a `changeGuidOps`
  table and a `changeGuids` trigger.
* Replace the `updateLocalItems` trigger with an `apply_remote_items`
  function to bulk upsert new and updated items.
* Replace the `structureToMerge` view with an
  `applyNewLocalStructureOps` table that holds parents and positions
  for moved items, and an `applyNewLocalStructure` trigger to update
  them.
* Remove tombstones for revived items, update change counters, and flag
  mirror items as merged directly in `update_local_items_in_places`,
  instead of indirecting through temp tables.
* Don't mark items flagged for reupload as merged, since we'll write
  them back to the mirror after upload.
* Use a scalar subquery instead of a join in the `localTags` view to
  look up the tags root ID.
* Replace `relatedIdsToReupload` with a `Store::prepare` method that
  flags all bookmarks with keyword-URL mismatches for reupload.
* Trigger frecency updates for origins once, not for every item.
* Remove two extra scans on `itemsAdded` and `itemsChanged` when
  recording observer notifications for changed keywords.
* Notify all `bookmark-added` listeners in a single batch.

This also fixes some edge cases:

* Update root positions correctly after deleting a non-syncable root
  or item.
* Keyword-URL mismatches may reupload more items than before, but now
  ensure that all bookmarks with the same URL have the same keyword.
* Only set items with deduped GUIDs to `SYNC_STATUS_NORMAL` after
  merging.
* Bump the last modified time for modified items only.

Differential Revision: https://phabricator.services.mozilla.com/D39889

--HG--
extra : moz-landing-system : lando
2019-08-06 23:48:03 +00:00
Aaron Klotz
559af4dfce Bug 1568361: Use StaticLocalAutoPtr for BackgrundMTAData; r=Jamie
The new StaticLocalAutoPtr smart pointer has a trivial destructor, so we will
either properly clean up this data or leak it on process shutdown. Either way,
we will not destroy it in a way that the underlying type does not support.

Differential Revision: https://phabricator.services.mozilla.com/D40842

--HG--
extra : moz-landing-system : lando
2019-08-06 23:56:21 +00:00
Boris Chiou
f6f83966df Bug 1571211 - Enable the pref of motion path in dom/animation/test/chrome. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D40570

--HG--
extra : moz-landing-system : lando
2019-08-06 23:51:54 +00:00
Andreea Pavel
a7b3920be9 Backed out changeset 4ed2ae72d108 (bug 1568157) for dt failures on a CLOSED TREE 2019-08-07 02:50:26 +03:00
alwu
267ee7f804 Bug 1565689 - part7 : add browser test. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D38147

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:08 +00:00
alwu
a76dfcbdd5 Bug 1565689 - part6 : add gtests. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D38146

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:08 +00:00
alwu
f8f21d9082 Bug 1565689 - part5 : control media from chrome process. r=farre,baku
This patch implements how to use MediaController to control corresponding media in content processes.

Differential Revision: https://phabricator.services.mozilla.com/D38145

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:07 +00:00
alwu
519f56c448 Bug 1565689 - part4 : notify controller about media active state and audible state changed from content processes. r=baku
We implement some helpful functions in MediaControlUtils which can be used to notify controller when media starts/stops playing or become audible/inaudible.

For now, we can temporarily notify these changes in AudioChannelService where we have already known when media has these kinds of status changing.

Differential Revision: https://phabricator.services.mozilla.com/D38144

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:07 +00:00
alwu
a212936957 Bug 1565689 - part3 : use static pref to control audio competing. r=baku
We don't want to enable audio competing by default, so hide this feature behind a static pref.

Differential Revision: https://phabricator.services.mozilla.com/D38143

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:09 +00:00
alwu
e76b883c12 Bug 1565689 - part2 : implement AudioFocusManager. r=baku
In order to support audio competing among different tabs, we implement a new class AudioFocusManager.

AudioFocusManager is used to assign the audio focus to different requester and decide which requester can own audio focus when audio competing happens.
When the audio competing happens, the last request would be a winner who can still own the audio focus, and all the other requesters would lose the audio focus.
Now MediaController is the onlt requester, it would request the audio focus when it becomes audible and revoke the audio focus when the controller is no longer active.

Differential Revision: https://phabricator.services.mozilla.com/D38142

--HG--
extra : moz-landing-system : lando
2019-08-06 19:27:34 +00:00
alwu
d64b11e708 Bug 1565689 - part1 : implement MediaController and MediaControlService. r=baku
In order to have a centralized audio control in the parent process, we create two new classes here.

* MediaController
MediaController is a class used to control certain amount of media in the content process. Every controller corresponds to a browsing context.
For example, TabMediaController would correspond to the top level browsing context, which mean it can control all media in the specific tab.

* MediaControlService
As there might be multiple tabs playing audio, so there would be multiple controllers. MediaControlService is a place to manage all of them, you can access specific controller through MediaControlService by providing controller ID.
Everytime a controller becomes active, which means there is a media starts in corresponding browsing context, then controller would be added into the list of the MediaControlService. And it would be removed from the list when the media in corresponding browsering context stopped.

Differential Revision: https://phabricator.services.mozilla.com/D38141

--HG--
extra : moz-landing-system : lando
2019-08-06 19:24:45 +00:00
Drew Willcoxon
2137a9f3ed Bug 1570492 - Make browser.topSites.get({ newtab: true }) prefer sites' labels to titles. r=mixedpuppy
Differential Revision: https://phabricator.services.mozilla.com/D40112

--HG--
extra : moz-landing-system : lando
2019-08-06 23:35:33 +00:00
Toshihito Kikuchi
82aae30d17 Bug 1568610 - Delete the definition of IATThunks structure. r=aklotz
Differential Revision: https://phabricator.services.mozilla.com/D40703

--HG--
extra : moz-landing-system : lando
2019-08-06 22:58:20 +00:00
Cameron McCormack
d622a3d445 Bug 1569060 - Add layout debugger command to dump process IDs. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D39437

--HG--
extra : moz-landing-system : lando
2019-08-06 23:31:55 +00:00
Andreea Pavel
0e73b6bc4c Bug 1527846 - disabled new_window_same_origin.tentative.html on mac debug r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D40896

--HG--
extra : moz-landing-system : lando
2019-08-06 23:10:15 +00:00
Matthew Gaudet
b8f89aa588 Bug 1569315 - Unify flags access code in FunctionFlags r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D40510

--HG--
extra : moz-landing-system : lando
2019-08-06 21:03:18 +00:00
Matthew Gaudet
969004e3aa Bug 1569315 - Clarify GC status of FunctionCreationData r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D40507

--HG--
extra : moz-landing-system : lando
2019-08-06 21:02:35 +00:00
Matthew Gaudet
4925a59731 Bug 1569315 - Make FunctionTree processing either Eager or Deferred. r=tcampbell
This makes eager processing the default as well, which makes the code
effectively work how it does before the FunctionTree patches.

Differential Revision: https://phabricator.services.mozilla.com/D40480

--HG--
extra : moz-landing-system : lando
2019-08-06 21:01:42 +00:00
Matthew Gaudet
b1eb6c533c Bug 1569315 - Defer allocation of JSFunctions in the parser r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D39774

--HG--
extra : moz-landing-system : lando
2019-08-06 23:14:30 +00:00
Matthew Gaudet
0881977c36 Bug 1567579 - Defer allocation of LazyScript to after parsing r=tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D38699

--HG--
extra : moz-landing-system : lando
2019-08-06 20:52:26 +00:00
Kris Maglione
134e4e875e Bug 1571272: Add missing null check. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D40672

--HG--
extra : moz-landing-system : lando
2019-08-06 17:36:16 +00:00
Mike Hommey
96bb4b8b05 Bug 1571587 - Remove unused fetches. r=nalexander
More leftovers from the removal of GCC 4.9.

Differential Revision: https://phabricator.services.mozilla.com/D40737

--HG--
extra : moz-landing-system : lando
2019-08-06 18:14:37 +00:00
Mike Hommey
c159931fbc Bug 1571505 - Properly add dbghelp where needed. r=nalexander
While here, properly export StackWalk.h when building with
--enable-project=memory.

Differential Revision: https://phabricator.services.mozilla.com/D40731

--HG--
extra : moz-landing-system : lando
2019-08-06 18:14:12 +00:00
Edwin Gao
70691a666b Bug 1555454 - disable browser_preferences.js test on macosx1014 due to intermittent timeout and crash r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D40865

--HG--
extra : moz-landing-system : lando
2019-08-06 20:18:58 +00:00