Add BrowsingContext to allow the tree structure of docshells to exist
in several processes simultaneously. This is a first step towards
allowing a tree structure preserving separation of docshells across
processes.
--HG--
extra : histedit_source : d3c7f6ab4b9ae76f170c126d669ebd570e52f348
Add a trait method that AutoCleanLinkedList delegates to for calling
delete on non-refcounted list elements.
--HG--
extra : histedit_source : 5e8b05f348d734d9045621d858caed946853fc02
Some test files were affected by adding a new CoarseType, particularly in XPCShell tests. New rules were added to handle this CoarseType, and in a few cases the IDs of deserialized nodes had to be adjusted. The colors of CoarseTypes have also changed slightly and the resulting tests had to be updated.
--HG--
extra : histedit_source : 99db02f1b6acafb1376f71af3b8fceb9adbbb8e0
Added a new CoarseType that refers to DOM nodes. Updated the trees to represent the CoarseType. Created a new type of count in the heap snapshot that sorts the data by a more descriptive type name. Created the descriptive in JS::ubi::Base.
--HG--
extra : histedit_source : be24efa4d2ccb85e82046d7cf7d2c3a1e13b1fd7
Summary: GTest is permafailing on Windows because of timeout.
Reviewers: glandium
Reviewed By: glandium
Bug #: 1474254
Differential Revision: https://phabricator.services.mozilla.com/D2043
--HG--
extra : rebase_source : cea68e50f96a1788bf15dc6ca7859e5f698a6209
This replaces using file_util to open and unlink temporary files
(/dev/shm on Linux, $TMPDIR or /tmp otherwise) with the POSIX shm_open
API, or ashmem on Android (which doesn't implement shm_open).
glibc maps shm_open/shm_unlink to open and unlink in /dev/shm (as does
musl libc), so the Linux situation is mostly unchanged except we aren't
duplicating code from system libraries. Other OSes may (and some do)
use more efficient implementations than temporary files.
FreeBSD's SHM_ANON extension is used if available. Sadly, it's not
standard; it would make this patch much simpler if it were.
This patch changes the shm file names; they now start with "org.mozilla"
instead of "org.chromium" because the original Chromium code is mostly
gone at this point. When running as a Snap package, the required
filename prefix is added; other container/sandbox environments using
AppArmor to restrict the allowed filenames may need to be adjusted.
The shm names now include the creating process's pid, to allow
using sandboxing to prevent interfering with shm belonging to other
applications or other processes within the same browser instance.
MozReview-Commit-ID: 7PirIlcblh4
Summary: We want the clang interpretation of -Wall, not the clang-cl one,
which translates -Wall as -Weverything.
Reviewers: dmajor
Tags: #secure-revision
Bug #: 1478000
Differential Revision: https://phabricator.services.mozilla.com/D2468
--HG--
extra : rebase_source : df684c3ca3088e91d584c715f6219f4318d00c62
https://github.com/rust-lang/rust/issues/52694 is a miscompilation I
found in rust when it uses system llvm 5 or 6, that was fixed 5 months
ago in the llvm rust bundles. This may or may not affect clang, but
considering it was also reported to upstream llvm independently of rust,
it's better to side with caution.
It doesn't affect 3.9, and bug 1478919 got rid of the last use of clang
5 (except for clang-tidy, but that's not used to compile).
The patches come from the llvm trunk from 5 months ago, so they're
already in our clang 7 snapshots.
Windows static analysis builds are still using an old trunk, but are
stuck on bug 1427808. They're "only" for static analysis, though.
--HG--
extra : rebase_source : f4fce69eb7c69b6245518a1bad37e04236c7075b
This was cargo-culted from the asan/tsan mozconfigs, but is not necessary
for builds without sanitizers.
--HG--
extra : rebase_source : 41bad4761f424410cb7a099ecaecce8a86becf59
It was kept on clang 5 explicitly in bug 1467658 because of bug
1467673, now fixed.
--HG--
extra : rebase_source : 8de52e6967bb1f249b7e59d83b90ecfb291a9c44
While fiddling with clang (upgrading it and applying some miscompilation
patches), my mac LTO builds started to fail because ld64 would crash
during configure.
It turns out, it was crashing trying to print a warning it shouldn't
even print out, about failure to create a cache path.
This, in turn, is due to a pointer not being initialized in the ld64
code. I sent this upstream, and this was promptly fixed:
https://github.com/tpoechtrager/cctools-port/pull/57
However, since our last update of cctools-port, upstream landed a change
that broke support for tbd files if you don't compile against the new
libtapi library. Doing so is more work than I'm ready to put here,
so we just cherry-pick the fix.
--HG--
extra : rebase_source : 131952a5233bc379943c8eb124d377525f54202f
By mixing system colors and non-system colors we can arrive at a situation where
we have white text on a white background when using Windows high-constrast mode
or various themes on Linux.
This patch brings the colors used for DevTools doorhangers into line with the
colors used for arrowpanels elsewhere in Firefox.
Differential Revision: https://phabricator.services.mozilla.com/D2456
--HG--
extra : moz-landing-system : lando
Moved notification channels to NotificationHelper and created
new utility methods to retrieve them when needed. Cleaned unused
imports.
MozReview-Commit-ID: L3HnV3nD7Og
--HG--
extra : rebase_source : fdc18b8f31f76d988a3748b640e86607bb0b4186
Added a content action which will open the privacy settings when
tapping the mozilla location services notification.
MozReview-Commit-ID: 9h85amcoF0T
--HG--
extra : rebase_source : 8e8914e742023d3a6fb16397480df0d6eea6adb3
Tested the functionality of 'CombinedStacks'. Added coverage for 'AddStack' and 'RemoveStack' methods.
MozReview-Commit-ID: CxBZHHZMN3z
--HG--
extra : rebase_source : 72ded4aebcbcd7b6a9e1b510326f64670b7b0f55
self-test/assertRecoveredOnBailout-1.js relies on the shell actually
crashing, but TSAN catches that instead, and returns its own error code
instead of -11.
TSAN's value, however, is not in catching crashes, so we disable its
handling of segfaults while running the JIT tests. Crashes would still
happen and cause tests failures, while allowing the harness to catch the
expected crash from self-test/assertRecoveredOnBailout-1.js.
--HG--
extra : rebase_source : 38f0251cf226756de80ab9f84af91e73b9ba2435
This patch removes the <kbd>Esc</kbd> handler from codeMirror
to put it on the jsterm-container. This prevent the interference
from codeMirror when we don't need to handle the event (i.e. it
should bubbles up to the toolbox where the split console state
is managed).
The webconsole_split test is run with both old and
new jsterm.
MozReview-Commit-ID: BaLyj4wSdmv
--HG--
extra : rebase_source : 6b549379839dc824a38ee49ffd859092cfbecb13
extra : source : de58a50eb0165665644b07fffd228e5478861e2e
The widget will hide the XUL panel when clicking to the outside of panel
automatically.
If a user clicks the MenuButton when opening the popup, the popup will hide
automatically and mouse click event will be fired on macOS and Linux.
(Windows will eat this click event since the consumeoutsideclicks of this panel
is false.)
As a result of it, the popup menu will be reopened. In order to prevent this,
this patch will disable the MenuButton until popup is hidden by using
the popuphidden event. This popuphidden event will be fired before the click
event of MenuButton, then the click event of MenuButton will be fired after
popuphidden immediately.
MozReview-Commit-ID: 42xV0aWDmkR
--HG--
extra : rebase_source : 526d89b876a0db13feee5629272c74275b4cf611
We need to generalize the barrier to handle not just globals, but also
fields in structures. To do this we pass the location of the store
(ie the Cell**) to the C++ barrier machinery, not the global index.
--HG--
extra : rebase_source : e036ab3500cfa838f8a7dcbfade6dcc5d5765e85