We are apparently still crashing even after mprotect() with write flag
returns successfully. This patch reads the flags again after mprotect()
returns, and hopefully the flags will tell the truth of whether the page
is truly writable or not after calling mprotect().
MozReview-Commit-ID: Jsg8vHKFEvJ
--HG--
extra : rebase_source : b028aa0d5cefd50302bfc2502292d9129d202e09
This updates the not-really-correct code to flush the WR pipeline before
doing a readback. It now uses the flushing functions introduced in bug
1417784 to ensure things are flushed properly.
MozReview-Commit-ID: 90BZuLKcjUi
--HG--
extra : rebase_source : 2180aa0ac7ff7b46467e0c24094fcc99479120f7
Creates a standard library for working with moz.yaml files, and adds a `mach
vendor manifest --verify` command that loads and verifies manifest schema.
The list of permitted licenses is one I derived from about:license, pending an
authoritative list from legal.
Differential Revision: https://phabricator.services.mozilla.com/D1208
In the case of a long-tap touch sequence, a new popup window (the
contextmenu) is spawned while the sequence is ongoing. The touch-end of
the sequence ends up getting delivered to the popup window, instead of
the original content window, and that causes the touch-handling
machinery state in the content window to get out of sync with reality.
This patch detects this scenario and redirects the touch events on the
popup window back to the original content window.
MozReview-Commit-ID: L2vvKLlogRA
--HG--
extra : rebase_source : fd4c36c93e45d05155d415f6470e12979b9a675b
... to allow a user to remove() an entry, update the values and
re-insert() it into a tree.
MozReview-Commit-ID: GrSY90Q3ugt
--HG--
extra : rebase_source : 9d8876064f9e3d5b9e4249936a4c999b74fcc9ad
In order to preserve semantics of scalar operations, we defer applying
operations on probes until after the persisted measurements are fully loaded.
This is only necessary on GeckoView, as it is the only product doing intermediate persistence of measurements.
MozReview-Commit-ID: IHA1MGPRHoQ
--HG--
extra : rebase_source : f854e5eee96b96e2a0ceb67079aa4359efb07aef
Change mStopColor, mFloodColor, and mLightingColor in nsStyleSVGReset.
MozReview-Commit-ID: KMRMtHk1jNK
--HG--
extra : rebase_source : c0c12fa811d17ab6fe0a5ceb31ff32ec585314e0
This updates the GetTargetAPZC function to produce a
HitTestingTreeNodeAutoLock out-param instead of a
RefPtr<HitTestingTreeNode>, to ensure that the node can be used safely
in calling functions. It then propagates that change outward as needed,
which covers all the scrollbar dragging code.
MozReview-Commit-ID: 43K4eSECb4E
--HG--
extra : rebase_source : b34a880c6fd60069f7a4fa0527cbb5e903085356
This adds the HitTestingTreeNodeAutoLock RAII class that allows using
a HitTestingTreeNode safely outside a tree lock, and ensures that the
node won't get destroyed or recycled concurrently.
MozReview-Commit-ID: 8Tb3vdIeUgr
--HG--
extra : rebase_source : 6eed3e733edcaa4088da52882a9b3dc8c2355c2e
This patch makes three related changes:
- A non-functional change that factors a IsRecyclable function on
HitTestingTreeNode.
- A non-functional change that sprinkles proof-of-tree-lock arguments to
a few HitTestingTreeNode functions, to ensure at compile-time that they
can only be called while holding the tree lock.
- A functional change that stops clearing mLayersId in
HitTestingTreeNode::Destroy, so that if a node is non-recyclable, and
it gets Destroy()'d while other code still has a RefPtr to it, that
other code can still read the layers id off in a safe manner.
These changes provide a stronger set of checks around node recycling,
and allows for a safe mechanism to use a HitTestingTreeNode on the
controller thread without having to lock the entire APZ tree. The
mechanism is effectively a per-node lock, which will be added in the
next patch.
MozReview-Commit-ID: DBIjFDZJwhE
--HG--
extra : rebase_source : 318c27c4473e54b30a0393fca6c2fc76083036b2
nsNSSComponent startup and shutdown would be simpler if there were no direct
dependencies on localized strings. This patch removes a dependency on the
localized name of the builtin roots module by hard-coding the name internally
and then mapping it to/from the localized version as appropriate.
MozReview-Commit-ID: 30kbpWFYbzm
--HG--
extra : rebase_source : 3d384af5a9fa45d5ac1f78e1fcb0dd9e4b94267d
This inlines and simplifies the call to XPCOMUtils._getFactory,
because otherwise passing PdfStreamConverter appears to resolve it
immediately, loading the JSM. (The stream converter prototype does not
have a property _xpcom_factory, so there's no need for the check.)
Once that is done, we can just lazily load the stream converter JSM to
keep it from being loaded on startup.
This patch also checks that the stream converter is not loaded at
startup in the main process or the content process, and that PdfJs.jsm
is not loaded at startup in the content process. It needs to be loaded
in the main process to watch for some prefs.
MozReview-Commit-ID: EA0pSgs4AWH
--HG--
extra : rebase_source : fd79cf660e55a3b4e033b3f112228f36942169ea
As with the last patch, the factory is only used for a single class,
so move the constants closer to where they are used. This will allow
us to register the stream converter without loading the stream
converter JSM.
MozReview-Commit-ID: DRKVtYQOs2J
--HG--
extra : rebase_source : d871033c17a0c42a41b62ad753f4d6221f2118a8
Factory is only ever passed PdfStreamConverter, so specialize the
registration method and rename the class. Also, classID2 is always
non-null for PdfStreamConverter, so drop the check.
MozReview-Commit-ID: Ts295QTmrm
--HG--
extra : rebase_source : 9c89c3959981df76f7f6c6e4d0a2cf89d7bfb777
The goal of these patches is to load neither PdfJs.jsm nor
PdfStreamConverter.jsm in a content process unless the user is viewing
a PDF, to save memory.
This first patch creates a small stub JSM to do the stream
registration, and calls it directly in the content process, avoiding
one way we load PdfJs.jsm. The existing registration methods are kept
for the main process.
MozReview-Commit-ID: 5GH8tjHXfLb
--HG--
extra : rebase_source : f4819b4ae9a406c95aa7fd6a757b0331c9963946