Commit graph

719 commits

Author SHA1 Message Date
Andrea Marchesini
2e5c69b85f Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 3 - Cleanup storage access methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76916
2020-06-02 08:29:15 +00:00
Noemi Erli
f08b043cf6 Backed out 5 changesets (bug 1639833) for causing sessionstorage related failures CLOSED TREE
Backed out changeset b36af8d9db34 (bug 1639833)
Backed out changeset 712c11904dbe (bug 1639833)
Backed out changeset 14f1e4783582 (bug 1639833)
Backed out changeset b7f14c4cfe5d (bug 1639833)
Backed out changeset b4b25034dd83 (bug 1639833)
2020-06-01 19:31:50 +03:00
Andrea Marchesini
6172ec2b3e Bug 1639833 - IntrisincStoragePrincipal should always be partitioned - part 3 - Cleanup storage access methods, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D76916
2020-06-01 11:07:36 +00:00
Yaron Tausky
b5246d2cc5 Bug 1638170 - Don't dispatch buggy WorkerRunnables r=asuth,dom-workers-and-storage-reviewers,sg
This patch removes the dispatch of ReportGenericErrorRunnables when
a worker fails to start, since they were causing crashes and
weren't getting run anyway. It also adds an assertion that prevents
the creation of strong references to workers before they begin
their main loop.

Differential Revision: https://phabricator.services.mozilla.com/D76693
2020-05-26 11:38:58 +00:00
Andrew Sutherland
852f914bb7 Bug 1634259 - Improve worker shutdown edge case handling. r=perry
Bug 1594572 attempted to fix a shutdown edge-case where a worker that was
started late enough would fail to create a PBackground connection and
early return.  This early return, however, left the worker never scheduled
for deletion, resulting in a shutdown hang.  See my restating block at
https://phabricator.services.mozilla.com/D73134#2224963 for more context.

The problem with this was that the attempt to clear the main event queue
ran afoul of pre/post event-processing hooks intended to ensure that control
runnables are processed if some non-worker code goes and spins a nested
event loop on the worker thread.  But because we never got around to
creating a cycle collected JS runtime on the thread, the call to get it
would return null and when we tried to get the recursion depth of a null
pointer, we would crash a little.

This patch addresses the immediate regression by adding a helper that returns
a depth of 1 in this edge-case.  It also fixes another problem with the fix
that is now more obvious having reviewed bug 1636147... we were failing to
mark the status of the worker as dead and drain any control runnables, which
could have resulted in the CrashIfHangingRunnable usage not working out right.
(Note that CrashIfHangingRunnable does handle Cancel() correctly, so the
fact that we end up canceling the runnable shouldn't break things.)

Differential Revision: https://phabricator.services.mozilla.com/D75185
2020-05-14 07:44:44 +00:00
Yaron Tausky
c1120fcf49 Bug 1636147 - Don't report dead workers as active r=dom-workers-and-storage-reviewers,sg,asuth
`RuntimeService::CrashIfHanging` uses `RuntimeService`'s registry
to determine which workers are still active. This approach is
flawed because the registry is updated on the main thread, so if
the main thread is stuck somewhere, dead workers could be reported
as active.
This commit adds an additional check: if dispatching a `Runnable`
to a worker fails, it assumes that the worker is dead. This way
main thread hangs would not be reported as worker hangs.

Differential Revision: https://phabricator.services.mozilla.com/D74256
2020-05-13 17:48:19 +00:00
Simon Giesecke
da93ce54da Bug 1626570 - Improve handling of copying arrays in dom/workers/. r=dom-workers-and-storage-reviewers,ytausky
Differential Revision: https://phabricator.services.mozilla.com/D73668
2020-05-11 08:22:17 +00:00
Logan Smyth
208709890a Bug 1628853 - Expose a feature flag to enable/disable //# sourceXX= parsing. r=arai
These pragmas can be used to influence stack trace filenames, and to affect
how and where files show up in developer tools. In some circumstances, it can
be nice to disable allof that functionality in order to ensure that you get
the stack trace and debug information as SpiderMonkey sees it.

Differential Revision: https://phabricator.services.mozilla.com/D72103
2020-05-08 00:37:21 +00:00
Lars T Hansen
414fee387b Bug 1478632 - wasm simd, part 1: feature gating and related prep. r=rhunt
We add a configuration option for SIMD and apply ENABLE_WASM_SIMD
throughout the engine as appropriate, mostly to insert #error or
MOZ_CRASH where things need to be done in later patches or for
architectures that we won't currently consider.

We add a command line switch for the shell and an option for
about:config and plumb the value of this through the engine.

Differential Revision: https://phabricator.services.mozilla.com/D57940
2020-05-05 08:17:47 +00:00
Benjamin Bouvier
675cdfa277 Bug 1618595: Disable Cranelift on aarch64 when reftypes are enabled; r=lth,perftest-reviewers,sparky
This requires adding a new JSOptions field (for internal use within the shell),
as well as a new browser pref (to support possible Cranelift benchmarking on
aarch64).

Differential Revision: https://phabricator.services.mozilla.com/D72907
2020-04-30 11:55:13 +00:00
Cameron McCormack
653ae3db54 Bug 1582293 - Part 4: Initialize worker prefs correctly. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D70593
2020-04-30 09:18:34 +00:00
Cameron McCormack
a773404183 Bug 1582293 - Part 3: Support zero values for worker GC prefs. r=asuth
And while we're touching JSSettings, make it use an nsTArray to store
the JS GC settings intead of a C array.

Differential Revision: https://phabricator.services.mozilla.com/D70592
2020-04-30 09:18:27 +00:00
Cameron McCormack
5147d7defc Bug 1582293 - Part 2: Fix interpretation of boolean worker GC prefs. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D70591
2020-04-30 09:18:25 +00:00
Cameron McCormack
3645d7dba0 Bug 1582293 - Part 1: Fix pref observation code formatting. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D70590
2020-04-30 09:18:23 +00:00
Jon Coppeard
d92a182d73 Bug 1633457 - Rename some GC parameters for clarity r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D73012
2020-04-29 21:54:22 +00:00
Kris Maglione
580be6297e Bug 1594572: Schedule worker deletion when primary runnable fails. r=asuth
If we try to start a worker too close to shutdown, the main runnable for its
thread runs after shutdown has begun, bails out early trying to create a
BackgroundChild for its thread. Unlike bail-outs in WorkerPrivate::DoRunLoop,
though, nothing winds up scheduling the deletion of the worker after it
returns, and afterwards the worker is stuck forever in a pending state.
Attempts to shut it down from the main thread just dispatch an impotent
notification to be processed by the workers main event loop (which, of course,
will not ever happen).

This patch fixes the behavior of WorkerThreadPrimaryRunnable to always call
ScheduleDeletion when it exits, rather than only doing so when it succeeds
in entering the worker's main loop.

Differential Revision: https://phabricator.services.mozilla.com/D73134
2020-04-30 03:52:56 +00:00
Jon Coppeard
3f616ab772 Bug 1633405 - Remove dynamic GC options that are enabled everywhere r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72696
2020-04-28 07:59:47 +00:00
Noemi Erli
ccaad0ebc4 Backed out changeset 1fc50aa5c6bc (bug 1633405) for causing bustages in bigint.js CLOSED TREE 2020-04-28 13:49:51 +03:00
Jon Coppeard
896414dfa7 Bug 1633405 - Remove dynamic GC options that are enabled everywhere r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D72696
2020-04-28 07:59:47 +00:00
Jean-Yves Avenard
fe4218a373 Bug 1630802 - P4. Remove unused member. r=bholley
It lead the AbstractThread's assumption that there can only be one active per thread be invalid.

Differential Revision: https://phabricator.services.mozilla.com/D71441
2020-04-21 03:08:55 +00:00
Andrea Marchesini
0311b76022 Bug 1625568 - Add compatibility heuristics to third-party cookie blocking - part 2 - enable storageAccess API and heuristics, r=dimi,timhuang
Differential Revision: https://phabricator.services.mozilla.com/D69047

--HG--
extra : moz-landing-system : lando
2020-04-02 15:30:57 +00:00
Lars T Hansen
ab52212be6 Bug 1620986 - Workers should read multi-value pref. r=bbouvier
Differential Revision: https://phabricator.services.mozilla.com/D68353

--HG--
extra : moz-landing-system : lando
2020-03-26 11:47:59 +00:00
Perry Jiang
d3d780f56b Bug 1615014 - ensure performance storage/counter is set before being read r=dom-workers-and-storage-reviewers,asuth
WorkerThreadPrimaryRunnable possibly indirectly creates a
SendInitBackgroundRunnable (runs on the main thread), which causes a data race
with CompileScriptRunnable (runs on the worker thread) by having an
unsynchronized read/write of WorkerPrivate::mPerformanceCounter.

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

--HG--
extra : moz-landing-system : lando
2020-03-26 03:22:42 +00:00
Simon Giesecke
58d0171406 Bug 1620632 - Ensure nsTArray_Impl only declares a copy-constructor/assignment operator if E is copy-constructible. r=froydnj
To correctly implement this, it must be known on instantiation whether E is
copy-constructible, which is not the case if only a forward declaration is
available. This can be resolved either by making sure a full definition of E is
available, which is preferable. But in cases where this is not (easily) possible,
the information can be explicitly provided by the MOZ_DECLARE_COPY_CONSTRUCTIBLE
and MOZ_DECLARE_NON_COPY_CONSTRUCTIBLE macros. In particular, declarations for
IPDL-declared types are added to nsTArray.h itself, like it was already done
for MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR.

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

--HG--
extra : moz-landing-system : lando
2020-03-20 17:13:51 +00:00
Tom Schuster
00218dcac0 Bug 1275508 - Remove JavaScript werror from browser. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D66255

--HG--
extra : moz-landing-system : lando
2020-03-11 12:20:21 +00:00
Tom Schuster
3946b3eaea Bug 1619177 - Remove remaining extra warnings code. r=tcampbell,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D65830

--HG--
extra : moz-landing-system : lando
2020-03-10 22:59:41 +00:00
Ehsan Akhgari
5200d034f5 Bug 1620322 - Part 8: Rename AntiTrackingCommon to ContentBlocking; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D65821

--HG--
rename : toolkit/components/antitracking/AntiTrackingCommon.cpp => toolkit/components/antitracking/ContentBlocking.cpp
rename : toolkit/components/antitracking/AntiTrackingCommon.h => toolkit/components/antitracking/ContentBlocking.h
extra : moz-landing-system : lando
2020-03-09 23:36:39 +00:00
Narcis Beleuzu
0186cbe565 Backed out 8 changesets (bug 1620322) for bustages on nsContentSink.cpp . CLOSED TREE
Backed out changeset f41739c64dff (bug 1620322)
Backed out changeset be942a7f329e (bug 1620322)
Backed out changeset a916987c7c71 (bug 1620322)
Backed out changeset ead3484ffb5f (bug 1620322)
Backed out changeset 4e1e8b9afa1a (bug 1620322)
Backed out changeset 473bba698e5a (bug 1620322)
Backed out changeset 0e5e5d41597d (bug 1620322)
Backed out changeset 31b24d79db3d (bug 1620322)

--HG--
rename : toolkit/components/antitracking/ContentBlockingLog.cpp => dom/base/ContentBlockingLog.cpp
rename : toolkit/components/antitracking/ContentBlockingLog.h => dom/base/ContentBlockingLog.h
rename : toolkit/components/antitracking/ContentBlocking.cpp => toolkit/components/antitracking/AntiTrackingCommon.cpp
rename : toolkit/components/antitracking/ContentBlocking.h => toolkit/components/antitracking/AntiTrackingCommon.h
2020-03-09 22:18:36 +02:00
Ehsan Akhgari
5045d313c2 Bug 1620322 - Part 8: Rename AntiTrackingCommon to ContentBlocking; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D65821

--HG--
rename : toolkit/components/antitracking/AntiTrackingCommon.cpp => toolkit/components/antitracking/ContentBlocking.cpp
rename : toolkit/components/antitracking/AntiTrackingCommon.h => toolkit/components/antitracking/ContentBlocking.h
extra : moz-landing-system : lando
2020-03-09 18:12:40 +00:00
Noemi Erli
a48fac9e3b Backed out 8 changesets (bug 1620322) for causing bustages in ContentBlockingLog.cpp CLOSED TREE
Backed out changeset 3dcf513e36cb (bug 1620322)
Backed out changeset 46714855ce1d (bug 1620322)
Backed out changeset 0eb2b5f7322f (bug 1620322)
Backed out changeset 72d640fa0740 (bug 1620322)
Backed out changeset 4533bb4e5177 (bug 1620322)
Backed out changeset 659270edd419 (bug 1620322)
Backed out changeset 6802c18b1914 (bug 1620322)
Backed out changeset 60ff34db9f15 (bug 1620322)

--HG--
rename : toolkit/components/antitracking/ContentBlockingLog.cpp => dom/base/ContentBlockingLog.cpp
rename : toolkit/components/antitracking/ContentBlockingLog.h => dom/base/ContentBlockingLog.h
rename : toolkit/components/antitracking/ContentBlocking.cpp => toolkit/components/antitracking/AntiTrackingCommon.cpp
rename : toolkit/components/antitracking/ContentBlocking.h => toolkit/components/antitracking/AntiTrackingCommon.h
2020-03-09 19:19:41 +02:00
Ehsan Akhgari
1195c302a4 Bug 1620322 - Part 8: Rename AntiTrackingCommon to ContentBlocking; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D65821

--HG--
rename : toolkit/components/antitracking/AntiTrackingCommon.cpp => toolkit/components/antitracking/ContentBlocking.cpp
rename : toolkit/components/antitracking/AntiTrackingCommon.h => toolkit/components/antitracking/ContentBlocking.h
extra : moz-landing-system : lando
2020-03-09 10:23:07 +00:00
Tim Huang
04d44bae12 Bug 1616570 - Part 1: Rename CookieSettings to CookieJarSettings. r=Ehsan
Given that we are going to add ContentBlockingAllowList in
CookieSettings, so CookieSettings will be responsible for more stuff than the
cookie behavior and cookie permission. We should use a proper name to
reflect the purpose of it. The name 'CookieSettings' is misleading that
this is only for cookie related stuff. So, we decide to rename
'CookieSettins' to 'CookieJarSettings' which serves better meaning here.

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

--HG--
rename : netwerk/cookie/CookieSettings.cpp => netwerk/cookie/CookieJarSettings.cpp
rename : netwerk/cookie/nsICookieSettings.idl => netwerk/cookie/nsICookieJarSettings.idl
extra : moz-landing-system : lando
2020-03-04 08:59:08 +00:00
Andrew McCreight
4babb2b5ab Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 17:39:15 +00:00
Ciure Andrei
00dd87f6f4 Backed out changeset d407a28318e6 (bug 1609815) for causing windows ming bustages CLOSED TREE
--HG--
extra : histedit_source : b2c748e31e0f6ba8fcf9960a336e0bbd361b07e6
2020-02-27 07:05:19 +02:00
Andrew McCreight
b197e1f783 Bug 1609815 - Remove Web Replay C++ implementation. r=jgilbert,jandem,gbrown
Patch by bhackett and jlaster. Also reviewed by mccr8.

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

--HG--
extra : moz-landing-system : lando
2020-02-27 04:43:48 +00:00
Tom Schuster
7c32ce1560 Bug 1615405 - eval(nonString) should not have observable side effects. r=tcampbell,baku
After this change we can restrict contentSecurityPolicyAllows callbacks to just strings, because everything
else is excluded before calling that callback.

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

--HG--
extra : moz-landing-system : lando
2020-02-14 15:05:27 +00:00
Bogdan Tara
2a147d1696 Backed out changeset bc387540075d (bug 1615405) on evilpie's request CLOSED TREE 2020-02-14 14:34:53 +02:00
Tom Schuster
140762b57e Bug 1615405 - eval(nonString) should not have observable side effects. r=tcampbell,baku
After this change we can restrict contentSecurityPolicyAllows callbacks to just strings, because everything
else is excluded before calling that callback.

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

--HG--
extra : moz-landing-system : lando
2020-02-14 12:26:21 +00:00
Simon Giesecke
b50347f917 Bug 1611415 - Prefer using std::move over forget. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-13 14:38:48 +00:00
shindli
91aa0518dd Backed out changeset 0c982bc69cb3 (bug 1611415) for causing build bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsCOMPtr CLOSED TREE 2020-02-12 20:13:29 +02:00
Simon Giesecke
f604a47fa5 Bug 1611415 - Applied FixItHints from mozilla-non-std-move. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-12 17:24:41 +00:00
Simon Giesecke
0cc72577b5 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/workers. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D62562

--HG--
extra : moz-landing-system : lando
2020-02-12 10:38:22 +00:00
Sylvestre Ledru
187e9bafaf Bug 1519636 - Automatically reformat recent changes using clang-format r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2020-01-21 09:51:27 +00:00
Eric Rahm
78ee6675cf Bug 1606187 - Part 2b: Update users of nsClassHashtable to handle UniquePtr differences r=KrisWright,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D59042

--HG--
extra : moz-landing-system : lando
2020-01-13 19:18:56 +00:00
Paul Bone
8b4c7c407f Bug 1584892 - Remove CycleCollectedJSContext::Initialize's nursery size param r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D47873

--HG--
extra : moz-landing-system : lando
2019-12-16 04:14:55 +00:00
Paul Bone
89a1b3056a Bug 1584892 - Use the default max nursery size for workers r=baku,karlt
This patch updates this for workers and worklets.

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

--HG--
extra : moz-landing-system : lando
2019-12-16 03:55:24 +00:00
Gabriele Svelto
ace6d1063f Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-06 09:24:56 +00:00
Dorel Luca
a381d5c96d Backed out changeset f6e53d1c6518 (bug 1600545) for Android build bustage. CLOSED TREE 2019-12-04 17:32:27 +02:00
Gabriele Svelto
bc9290f767 Bug 1600545 - Remove useless inclusions of header files generated from IDL files in dom/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

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

--HG--
extra : moz-landing-system : lando
2019-12-04 15:01:19 +00:00
Karl Tomlinson
5104cdfad1 Bug 1565956 adjust IsCurrentThreadRunningChromeWorker() for worklet threads r=baku
Depends on D53135

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

--HG--
extra : moz-landing-system : lando
2019-11-17 21:17:40 +00:00