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

626304 Коммитов

Автор SHA1 Сообщение Дата
Jan Varga 480f7ccea1 Bug 1286798 - Part 24: A new exclusive directory lock shouldn't invalidate existing internal directory locks; r=asuth
This fixes an intermittent failure when multiple clearStoragesForPrincipal() are called at the same time.
2018-11-29 21:48:31 +01:00
Jan Varga a5c446d3d9 Bug 1286798 - Part 23: Fix GetOrCreateForCurrentThread() when the runnable for calling SendInitBackground() on the main thread was already dispatched, but the main thread then entered a nested event loop; r=asuth
See the big comment in the code for more details.
2018-11-29 21:48:28 +01:00
Jan Varga 6e40a9dccb Bug 1286798 - Part 22: Add support for preloading of datastores; r=asuth
Datastores are preloaded only for content principals. The preloading is triggered as soon as possible to lower the chance of blocking the main thread in content process. If there is no physical database on disk for given origin, datastore is not created. Preloaded datastores are kept alive for 20 seconds.
2018-11-29 21:48:25 +01:00
Jan Varga de23109c58 Bug 1286798 - Part 21: Base domain needs to be handled too if strict file origin policy is not in effect; r=bholley,asuth,dholbert 2018-11-29 21:48:22 +01:00
Jan Varga d015b67aae Bug 1286798 - Part 20: Add checks for the 5 MB origin limit; r=asuth
The 5 MB limit is no longer applied to the whole group (eTLD+1). That will be controlled by quota manager.
2018-11-29 21:48:19 +01:00
Jan Varga 81c542fbe6 Bug 1286798 - Part 19: Implement a helper method for datastore preloading verification; r=asuth
A new type of request is introduced, PBackgroundLSSimpleRequest. This protocol is much simpler than PBackgroundLSRequest which needs to be cancelable.
2018-11-29 21:48:15 +01:00
Jan Varga b968ceb813 Bug 1286798 - Part 18: Verify that data is persisted on disk; r=asuth,mrbkap
New methods open() and close() are added to the Storage WebIDL interface. They are only available when a pref is set and are only intended for testing. There's also a new method resetStoragesForPrincipal() which is used as a callback for close() since datastores don't release directory locks immediately. resetStoragesForPrincipal() requests an exclusive lock for given origin, so it must wait for any exising shared locks to be released.
2018-11-29 21:48:11 +01:00
Jan Varga 36b0d5128d Bug 1286798 - Part 17: Fix a test failing in --verify mode; r=asuth 2018-11-29 21:48:08 +01:00
Jan Varga 944443d481 Bug 1286798 - Part 16: Adjust ClearDataService for new local storage implementation; r=asuth
This patch also adds support for creating LSObjects from chrome for any given origin which can be used for example by xpcshell tests.
2018-11-29 21:48:05 +01:00
Jan Varga 7313de76cd Bug 1286798 - Part 15: Fix clearLocalStorage() in browser extensions; r=asuth 2018-11-29 21:48:01 +01:00
Jan Varga 709a73dabf Bug 1286798 - Part 14: Enhance clearStoragesForPrincipal() to support clearing of storages for specific quota client; r=asuth
See also bug 1402254, original patch by baku.
2018-11-29 21:47:58 +01:00
Jan Varga 65acbea52d Bug 1286798 - Part 13: Preparation for quota checks; r=asuth 2018-11-29 21:47:55 +01:00
Jan Varga ae769dcc6b Bug 1286798 - Part 12: Honor the storage preference and cookie settings in all LocalStorage API methods; r=asuth 2018-11-29 21:47:52 +01:00
Jan Varga 9bbba97e91 Bug 1286798 - Part 11: Enable tests for session only mode (but only for the old local storage implementation); r=asuth
An attribute for checking if the next gen local storage implementation is enabled is exposed via a new interface nsILocalStorageManager which should be used for any other local storage specific stuff.
2018-11-29 21:47:48 +01:00
Jan Varga be167c5e0b Bug 1286798 - Part 10: Support for storage events; r=asuth,janv
Storage events are fired either directly after getting response from synchronous SetItem call or through observers. When a new onstorage event listener is added, we sycnhronously register an observer in the parent process. There's always only one observer actor per content process.
PBackgroundLSDatabase is now managed by a new PBackgroundLSObject protocol. PBackgroundLSObject is needed to eliminate the need to pass the principal info and document URI everytime a write operation occurs.
Preparation of an observer shares some states with preparation of a datastore, so common stuff now lives in LSRequestBase and preparation of a datastore now implements a nested state machine.

This patch was enhanced by asuth to drop observers only when the last storage listener is removed.
EventListenerRemoved is invoked on any removal, not just the final removal, so we need to make sure it's the final removal before dropping observer.
2018-11-29 21:47:45 +01:00
Jan Varga 08a07f2f36 Bug 1286798 - Part 9: Support for private browsing; r=asuth
Since we keep/cache data in memory anyway, private browsing support is mostly about avoiding any persistence related calls and clearing private browsing datastores when we get a notification. The separation between normal and private browsing datastores is done by the privateBrowsingId attribute which is part of the origin string.
2018-11-29 21:47:41 +01:00
Jan Varga 845fc3a991 Bug 1286798 - Part 8: Persist datastores to disk; r=asuth
Introduced a Connection and a ConnectioThread object.
All I/O requests are processed by a new single thread managed by ConnectionThread object.
Connection objects are prepared by the prepare datastore operation and then kept alive by datastores just like directory locks.
All datastore I/O operations are wrapped in a transaction which automaticaly commits after 5 seconds.
Datastore preparation now also loads all items from the database.
2018-11-29 21:47:38 +01:00
Jan Varga a47c296511 Bug 1286798 - Part 7: Teach QuotaManager's OriginParser to handle file://UNIVERSAL_FILE_URI_ORIGIN; r=asuth
See bug 1340710 which introduced this kind of URI.
2018-11-29 21:47:34 +01:00
Jan Varga c934ad618d Bug 1286798 - Part 6: Fix a dead lock in the single process case; r=asuth,janv
Expose the nested main event target, so it can be used in the single process case by the parent side to process runnables which need to run on the main thread.
After this change we don't have use hacks like getting profile directory path on the child side and sending it to the parent. The parent side can now do it freely even in the single process case.

This patch was enhanced by asuth to not tunnel the nested main event target through IPC.
2018-11-29 21:47:30 +01:00
Jan Varga c5676a58c7 Bug 1286798 - Part 5: More integration with QuotaManager; r=asuth
Preparation of datastores now creates real database files on disk. The LocalStorage directory is protected by a directory lock.
Infrastructure for database schema upgrades is in place too.
Database actors are now explicitely tracked by the datastore. When the last actor finishes the directory lock is released.
Added also implementation for QuotaClient::GetUsageForOrigin() and QuotaClient::AbortOperations().
2018-11-29 21:47:27 +01:00
Jan Varga 9f71846e2a Bug 1286798 - Part 4: Basic integration with QuotaManager; r=asuth
This adds a new quota client implementation, but only implements ShutdownWorkThreads.
At shutdown we wait for all running operations to finish including database actors which are closed by using an extra IPC message which avoids races between the parent and child.
Databases are dropped on the child side as soon as they are not used (e.g. after unlinking by the cycle collector).
2018-11-29 21:47:24 +01:00
Jan Varga 60831f2e38 Bug 1286798 - Part 3: New basic (memory only) implementation of LocalStorage; r=asuth,mccr8
The implementation is based on a cache (datastore) living in the parent process and sync IPC calls initiated from content processes.
IPC communication is done using per principal/origin database actors which connect to the datastore.
The synchronous blocking of the main thread is done by creating a nested event target and spinning the event loop.
2018-11-29 21:47:20 +01:00
Jan Varga 89fb42ab06 Bug 1286798 - Part 2: Add IsOnDOMFileThread() and AssertIsOnDOMFileThread() generic helper methods; r=asuth 2018-11-29 21:47:17 +01:00
Jan Varga 33208bfd8e Bug 1286798 - Part 1: Allow BackgroundChild::GetOrCreateForCurrentThread() to use a custom main event target; r=mccr8,asuth 2018-11-29 21:47:14 +01:00
Marco Castelluccio 33976b9bd2 Bug 1510391 - When a task is not found, don't add None to the list of tasks to run. r=ahal
--HG--
extra : rebase_source : ef53880797df740bbbd289099cb602539b208599
2018-11-27 17:29:34 +01:00
Marco Castelluccio 04087c53c1 Bug 1510452 - Use srcdir_relpath instead of file_relpath for tests and test support files. r=ahal
--HG--
extra : rebase_source : ec726b7b2a409e6e30dcdee2e5795eabacd56fb6
2018-11-27 23:53:33 +01:00
Kartikaya Gupta cd40821489 Bug 1511042 - Back out some commits from bug 1503447 for introducing correctness and perf regressions. r=backout
This backs out hg commits 1e214baf8fc1, 7d4adeee5236, and f5ffebdcc014.
2018-11-29 14:24:25 -05:00
Dylan Roeh e7644eaace Bug 1510587 - Back out FennecKiller service for causing start-up crashes. r=snorp 2018-11-29 12:46:05 -06:00
James Willcox c010fd41c0 Bug 1507702 - Don't make about:crash* accessible to web content r=Ehsan,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D12133
2018-11-29 12:07:27 -06:00
Geoff Brown 1ec332e1cb Bug 1511101 - Enable a few android 7.0 x86 mochitest; r=me,a=test-only 2018-11-29 11:03:05 -07:00
Geoff Brown d950eb11c5 Bug 1511084 - Increase some linux build task max-run-times to avoid intermittent timeouts; r=dustin 2018-11-29 11:03:05 -07:00
Daniel Varga e1c6ff4b53 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-11-29 19:15:23 +02:00
Tom Prince a3540aa22f Bug 1397847: Pass the taskcluster root to `load_tasks_for_kind` in `mach artifact toolchain`; r=dustin a=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D13433

--HG--
extra : rebase_source : ab46822cbf7cb72de61285eb336cb80356943752
extra : amend_source : 9ec807b18a8cc7d1b5d33cb4a4c65988fee4ff00
2018-11-29 09:37:39 -07:00
Daniel Varga b3613ec011 Merge mozilla-inbound to mozilla-central. a=merge 2018-11-29 18:59:59 +02:00
Daniel Varga dc295b2050 Backed out changeset 5c1893bd77c2 (bug 1499323) for linting failure at /builds/worker/checkouts/gecko/config/check_macroassembler_style.py:149:5 on a CLOSED TREE 2018-11-29 16:03:08 +02:00
Nicolas Chevobbe 047f13303a Bug 1510422 - Fix autocomplete cache handling; r=Honza.
In Bug 1462394, we moved the autocomplete data handling
out of the JsTerm to the Redux store. In the process, we
regress some cases like `await n`, which should display
`navigator`, but isn't anymore when the user types the
whole sequence. Ctrl+Space would still show the popup,
which indicates that the issue is not on the server-side.

This issue is caused because our new code decides that
we should hit the cache when typing the `n`, and there's
nothing in the cache.

Previously, we were clearing the cache as soon as the input
last string wasn't alphanumeric, which we don't anymore.
To fix that, instead of relying on the last string of the
input (which could be wrong in cases like `x.["hello `), we
clear the cache when the autocomplete service returns a null
`matches` property.

In the JsPropertyProvider, we use to return null whenever
there isn't any search done (incorrect input, empty match prop, …).
So it seems like a good idea to bust the cache when the
server returns null.

This requires some changes to the autocomplete service, as well
as some in jsPropertyProvider (e.g. to handle `await `).

Tests are added both on the client and the frontend to make sure
we don't regress this (those tests fail without the actual fix).

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

--HG--
extra : moz-landing-system : lando
2018-11-29 13:58:57 +00:00
Nicolas B. Pierron 6570f1fb9f Bug 1499323 - Prepare the check_macroassembler_style python script to accept clang-format rewritting. r=jandem 2018-11-29 14:46:02 +01:00
ffxbld 4a4bcf8624 No Bug, mozilla-central repo-update HSTS HPKP blocklist remote-settings - a=repo-update r=RyanVM
Differential Revision: https://phabricator.services.mozilla.com/D13388

--HG--
extra : moz-landing-system : lando
2018-11-29 13:37:25 +00:00
Olli Pettay 1b2196f200 Bug 1510633, no need to remove ShadowRoot's MutationObserver if there isn't host anymore, r=emilio,edgar 2018-11-29 15:15:22 +02:00
Dan Minor 7ca7e7696c Bug 1497552 - Remove support for 44100 Hz in dtmf_tone_generator; r=padenot
Assertions in NetEqImpl::SetSampleRateAndChannels prevent us from requesting
tones at 44100 Hz, so this code can be safely removed.

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

--HG--
extra : moz-landing-system : lando
2018-11-29 12:59:01 +00:00
Dan Minor b2dbaeae8f Bug 1497602 - Enable DirectX screen capturer on Windows; r=pehrsons
This enables support for the DirectX screen capturer. We use the default
DesktopCaptureOptions which do not set the option to use the DirectX screen
capturer so this change will have no effect with the current code.

For what it's worth, I tested enabling the DirectX option and it worked fine on my
system, but I don't see any reason to not follow the defaults provided by
webrtc.org in this case.

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

--HG--
extra : moz-landing-system : lando
2018-11-29 13:27:23 +00:00
Dragana Damjanovic f4cda9e92e Bug 1502462 - The altSrv checker does not build a uri correctly if origin is ipv6 address. r=valentin
AltSvcMapping::ProcessHeader should use GetAsciiHost instead of GetHost.

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

--HG--
extra : moz-landing-system : lando
2018-11-29 10:15:13 +00:00
Nicolas Chevobbe 6cc34ca969 Bug 1510948 - Fix ObjectInspector arrows styling in console; r=Honza.
Differential Revision: https://phabricator.services.mozilla.com/D13381

--HG--
extra : moz-landing-system : lando
2018-11-29 12:49:24 +00:00
Emilio Cobos Álvarez e119964c92 Bug 1510862 - Prevent exponential blowup of custom properties. r=jwatt
Put a hard cap on the value length instead of counting substitutions, because it
works best, see the comment.

Differential Revision: https://phabricator.services.mozilla.com/D13352
2018-11-29 12:14:01 +01:00
Dorel Luca 12d48b559b Backed out changeset 3e5ea9da2cbb (bug 1510862) for Linting failure. CLOSED TREE 2018-11-29 12:35:42 +02:00
Ehsan Akhgari 490e611801 Bug 1508472 - Part 5: Fifth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal. I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

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

--HG--
extra : moz-landing-system : lando
2018-11-29 10:30:46 +00:00
Emilio Cobos Álvarez 6ae5fdab0a Bug 1510862 - Prevent exponential blowup of custom properties. r=jwatt
Put a hard cap on the value length instead of counting substitutions, because it
works best, see the comment.

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

--HG--
extra : moz-landing-system : lando
2018-11-29 10:16:38 +00:00
Julian Descottes ca974ee77d Bug 1507125 - Protocol Front should throw when called after destroy;r=ochameau
Depends on D13137.

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

--HG--
extra : moz-landing-system : lando
2018-11-29 10:00:06 +00:00
Julian Descottes 700381caa2 Bug 1507125 - Stop destroying DebuggerServer when moving from This Firefox runtime page;r=daisuke
Differential Revision: https://phabricator.services.mozilla.com/D13137

--HG--
extra : moz-landing-system : lando
2018-11-29 06:29:41 +00:00
Hiroyuki Ikezoe bd5c778053 Bug 1510697 - Set gfx.omta.background-color pref in dom/animation/test/chrome.ini. r=birtles
Differential Revision: https://phabricator.services.mozilla.com/D13378

--HG--
extra : moz-landing-system : lando
2018-11-29 10:02:39 +00:00