The machinery for suppressing the displayport during live resizes
was using the Observer service. However, in the case of multiple
browser windows, this meant that all the open browser windows would
have their displayport suppressed if *any* of the browser windows
was being resized. This was mostly ok, as the displayport suppression
would be turned off once the resize ended. However, the code to
kick off a repaint with the unsuppressed displayport would only get
triggered on one of the windows (whichever happened to process the
unsuppress message last).
This patch stops using the Observer service for the implementation
machinery, and instead locates the active TabParent of the relevant
nsWindow, and invokes the displayport suppression directly on that.
This fixes the repainting bug and also avoids unnecessarily
broadcasting the suppression/unsuppression notification to windows
that don't neccessarily need it.
MozReview-Commit-ID: LBHOgOW9KUp
There can be cases where a non top level document currently has no parent
document, for example when a child doc has been unbound from its parent but
not yet reattached to a new outer doc.
The old code would do the content process portion of the open by
immediately sending a message back to the content process, but this
has some weird issues with nesting and priorities. Instead of doing
that, I return the endpoint for the content process back to the
original sync call. This requires more code changes, to thread the
endpoint along, but it is conceptually simpler.
Once I removed the bridges and got it working, I was just able to
remove the spawns from the IPDL file and it worked.
MozReview-Commit-ID: 1tfiJrV4jbV
--HG--
extra : rebase_source : 1ce0012d3f51b0cdebb1954cf473811a9d6c47a7
Update MacSandboxInfo struct to include file system read flag and remove
filesytem read restrictions from the file content process sandbox.
MozReview-Commit-ID: B9LPocvb0W3
--HG--
extra : rebase_source : 7c80335c28dbdb7146d2ad0b447959db5e06cf0f
Call SendRemoteType() before calling SendSetProcessSandbox() so the
child can use the remote type value when setting up the sandbox.
MozReview-Commit-ID: 28Xeyn9cqDf
--HG--
extra : rebase_source : 534354e67a4f46f99be157ed468fc466e96fd0e9
Instead of an opens, the child sends a new message InitBackground to
the parent to create the parent side.
Most of this is threading around the endpoints instead of the
transport stuff.
MozReview-Commit-ID: 2c5SrCEAGyY
--HG--
extra : rebase_source : 1ee3d6631c5a7755d8e43342932ab16d9da161cd
Assigns the preference security.sandbox.logging.enabled and the environment variable MOZ_SANDBOX_LOGGING to control whether or not sandbox violations are logged. The pref defaults to true. On Linux, only the environment variable is considered.
--HG--
extra : rebase_source : f67870a74795228548b290aec32d08552c068874
In bug 1331509, mRemoteFrame started getting populated earlier, while the DPI
and default scale values remained unpopulated until RecvShow was called. This
opened a small window where calling TabChild::GetDPI (and GetDefaultScale) would
result in a sync IPC message where previously it would just return -1. This
restores the original behaviour and elimintes the perf regression from the
sync IPC.
MozReview-Commit-ID: AikQmZjVHc9
--HG--
extra : rebase_source : f8c5245a4241c8cf7c2786407deb8c6ef71bb089
This removes the open of PGMPContent from PGMP, the bridge of
PGMPService and PGMP from PGMPContent, and the spawn of PGMP from
PGMPService. I did these changes all at once because the way the
bridges works it was hard to split it up.
--HG--
extra : rebase_source : d9311e3047b9855ad422838f5a8b6bfdc382d225